WO2020121460A1 - 照合システム、クライアントおよびサーバ - Google Patents
照合システム、クライアントおよびサーバ Download PDFInfo
- Publication number
- WO2020121460A1 WO2020121460A1 PCT/JP2018/045778 JP2018045778W WO2020121460A1 WO 2020121460 A1 WO2020121460 A1 WO 2020121460A1 JP 2018045778 W JP2018045778 W JP 2018045778W WO 2020121460 A1 WO2020121460 A1 WO 2020121460A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- challenge
- client
- public key
- server
- Prior art date
Links
- 230000004044 response Effects 0.000 claims abstract description 169
- 238000000034 method Methods 0.000 claims abstract description 98
- 230000008569 process Effects 0.000 claims description 27
- 238000012795 verification Methods 0.000 claims description 22
- 239000000654 additive Substances 0.000 claims description 21
- 230000000996 additive effect Effects 0.000 claims description 21
- 239000013598 vector Substances 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 2
- 230000036039 immunity Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004204 blood vessel Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
Definitions
- the present invention relates to a collation system, a collation method, and a client, a server, a client program, and a server program applied to the collation system.
- Biometric authentication is an example of authentication. "Biometric authentication” is a method of personal authentication that checks whether the registered person and the authenticated person match by comparing the registered person's biological information with the authenticated person's biological information. is there.
- biological information is data extracted from some characteristics of an individual regarding the body or behavior, or data generated by converting the extracted data. This data is sometimes called a feature amount.
- the “template” is data that is stored in advance for biometric authentication and that is generated from biometric information of the registered person (hereinafter referred to as registration information).
- Patent Document 1 describes a collation system capable of avoiding leakage and spoofing with respect to a binary vector and improving safety.
- Patent Document 2 describes a proof device that certifies that a target ciphertext obtained by encrypting plaintext by homomorphic encryption processing is valid.
- FIDO Fast Identity Online
- a template is stored in the client in advance.
- the client applies the biometric information and the template to the authenticated person as the registered person. It is determined whether to do.
- the server determines the signature key (secret key) of the client and the verification key (secret key) of the server based on the signature generated by the client using the signature key. It is determined whether or not the key is paired with (public key). That is, in FIDO, when biometric authentication is successful in the client and verification of the signature of the client is successful in the server, it is finally determined that the user (authenticatee) has been authenticated.
- information obtained by encrypting the biometric information of the registered person is stored in the client in advance as a template. Then, the key for decrypting the encrypted information is also stored in the client.
- the client decrypts the template using the key, and the authenticated biometric information is used by the authenticated person to register the authenticated person. It is determined whether or not
- the template stored in the server is subject to protection under the Personal Information Protection Law.
- the client saves the template of one or a few users who use the client. Therefore, it cannot be said that the template is stored as a database. Therefore, the template stored in the client may not be protected by the Personal Information Protection Law.
- the template is stored in the client, it is preferable to prevent the biometric information (that is, registration information) of the registrant from being leaked in consideration of the possibility of the template being leaked from the client. In other words, it is preferable to prevent the registration information from leaking from the template.
- biometric information that is, registration information
- the password which is the registration information to the client of the client server system is used.
- the password which is the registration information to the client of the client server system is used.
- Another reason why it is preferable to prevent leakage of registration information is that if the registration information is leaked, spoofing using the leaked registration information may be executed to the server. However, even if security measures are implemented as much as possible, it is difficult to completely eliminate the possibility of leaking registration information from the client server system.
- an object of the present invention is to provide a collation system, a collation method, and a client, a server, a client program, and a server program applied to the collation system, which can prevent a retransmission attack in the authentication process.
- a collation system is a collation system including a client and a server, and a challenge response system is introduced, in which the client stores an anonymity information storing unit that anonymizes registration information with a public key. And an information generation unit that generates generation information, which is information for generating a challenge, using a public key based on anonymity information and a random number, a challenge transmitted from a server, and registration information.
- the server includes a response calculation unit that calculates the response corresponding to the challenge using the collation information and the random number, and the server stores the key storage unit that stores the private key corresponding to the public key and the generation source information transmitted from the client.
- a challenge generation unit that generates a challenge based on.
- a client is a client to which a challenge response method is introduced, and includes a confidential information storage unit that stores confidential information in which registration information is confidential with a public key, and information for generating a challenge.
- An information generation unit that generates a certain source information using a public key based on anonymity information and a random number, a challenge transmitted from a server in which a challenge response system is introduced, and collation information that is collated with registration information.
- a response calculation unit that calculates a response corresponding to the challenge using the random number.
- the server according to the present invention is a server in which a challenge response system is introduced, and a key storage unit for storing a secret key corresponding to a public key held by a client in which the challenge response system is introduced, and a challenge are generated.
- the challenge is to generate a challenge based on the generator information transmitted from the client, which is generated by using the public key based on the secret information and the random number in which the registration information is secret by the public key.
- a generation unit is a server in which a challenge response system is introduced, and a key storage unit for storing a secret key corresponding to a public key held by a client in which the challenge response system is introduced, and a challenge are generated.
- the challenge is to generate a challenge based on the generator information transmitted from the client, which is generated by using the public key based on the secret information and the random number in which the registration information is secret by the public key.
- a generation unit is to generate a challenge based on the generator information transmitted from the client, which is generated by using the
- the verification method is a verification method in a verification system including a client and a server and in which a challenge response method is introduced, in which the client conceals the concealed information in which the registration information is concealed with a public key.
- the generation source information which is information for generating a challenge, is stored in the information storage unit, is generated using a public key based on the concealment information and a random number, and the generated generation source information is transmitted to the server.
- Stores a private key corresponding to the public key in the key storage unit generates a challenge based on the generation source information transmitted from the client, transmits the generated challenge to the client, and the client transmits from the server. It is characterized in that the response corresponding to the challenge is calculated using the challenge, the collation information collated with the registration information, and the random number.
- the matching method according to the present invention is a matching method in a client in which a challenge response method is introduced, in which the confidential information obtained by concealing registration information with a public key is stored in a confidential information storage unit to generate a challenge. Is generated by using the public key based on the secret information and random number, the generation information that is information for the challenge, and the challenge transmitted from the server in which the challenge response method is introduced, and the collation information that is collated with the registration information. , A response corresponding to the challenge is calculated using the random number.
- the verification method according to the present invention is a verification method in a server in which a challenge response method is introduced, in which a secret key corresponding to a public key held by a client in which the challenge response method is introduced is stored in a key storage unit, This is information for generating a challenge, and the registration information is challenged based on the generator information generated by using the public key based on the secret information and the random number, which are concealed by the public key, and transmitted from the client. Is generated.
- the client program according to the present invention includes a confidential information storage unit that stores confidential information in which registration information is confidential with a public key, and is a client installed in a computer that operates as a client in which a challenge response method is introduced.
- a generation process for generating generation information which is information for generating a challenge, using a public key based on anonymity information and a random number
- a server in which a challenge response method is introduced It is characterized in that a calculation process for calculating a response corresponding to the challenge is executed using the challenge transmitted from the collation information, the collation information collated with the registration information, and the random number.
- the server program according to the present invention operates as a server in which a challenge response system is installed, and is stored in a computer including a key storage unit that stores a private key corresponding to a public key held by a client in which the challenge response system is installed.
- a server program to be installed which is information for generating a challenge in a computer, and which is generated by using a public key based on secret information and random numbers in which registration information is secret by a public key. And generating a challenge based on the generation source information transmitted from the client.
- FIG. 9 is a flowchart showing an example of the processing progress when a template is stored in advance in the anonymity information storage unit 150 of the client 100. It is a flow chart which shows an example of processing progress at the time of attestation.
- 5 is an explanatory diagram showing an example of a specific authentication process in the matching system 10.
- FIG. 11 is an explanatory diagram showing another example of a specific authentication process in the matching system 10.
- It is a schematic block diagram which shows the structural example of the computer which concerns on the client 100 and the server 200 in embodiment and its specific example of this invention. It is a block diagram which shows the outline
- FIG. 1 is a block diagram showing a configuration example of a collation system according to an embodiment of the present invention.
- the matching system 10 shown in FIG. 1 includes a client 100 and a server 200. Although FIG. 1 illustrates one client 100, a plurality of clients 100 may exist. The client 100 and the server 200 can communicate with each other via a communication network.
- the attacker can impersonate the client and successfully authenticate to the server. If the attacker succeeds in impersonating, damage such as unauthorized login will occur.
- a challenge-response method is introduced in the verification system 10 of the present embodiment so as to prevent spoofing.
- the server 200 causes the client 100 to calculate the response including the proximity of the registration information and the collation information (information input for collation with the registration information) described later by the challenge response method. Response value is changed for each authentication.
- the client 100 includes a key receiving unit 110, a key storage unit 120, a registration information input unit 130, a concealment unit 140, a concealment information storage unit 150, a random number generation unit 160, and An information generation unit 170, a collation information input unit 180, a response calculation unit 190, and an output unit 191 are provided.
- the key receiving unit 110 receives the public key generated by the server 200 and transmitted from the server 200, and stores the public key in the key storage unit 120.
- this public key will be referred to as pk.
- the key storage unit 120 is a storage device that stores the public key pk.
- the registration information input unit 130 receives an input of registration information.
- the biometric information of the registered person is input to the registration information input unit 130 as the registration information.
- the case where the registration information and the collation information are represented by a vector of a common dimension will be described as an example.
- the registration information input unit 130 may be any input device according to the registration information.
- the registration information input unit 130 is an input device that reads the fingerprint, extracts a vector serving as the registration information from the fingerprint, and accepts the input of the vector. Good.
- the registration information input unit 130 may be an input device into which a vector serving as registration information is directly input.
- the biometric information may be extracted from the iris, retina, face, blood vessel (vein), palm print, voice print, or a combination thereof, in addition to the fingerprint.
- the biometric information may be extracted from other information that can identify the living body, other than the example described above.
- a vector corresponding to the biometric information (registration information) of the registered person, which is input to the registration information input unit 130, is denoted by X.
- the concealment unit 140 conceals the biometric information X of the registered person input to the registration information input unit 130, and conceals the biometric information X (hereinafter referred to as concealment information) from the concealment information storage unit 150.
- the anonymity information storage unit 150 is a storage device that stores anonymity information.
- This confidential information is data that is stored in advance for biometric authentication and is generated from the biometric information of the registered person. Therefore, this anonymity information is a template. Since the public key pk stored in the key storage unit 120 is not data generated from the biometric information of the registered person, the public key pk is not a template.
- encryption will be described as a specific example of concealment. That is, the anonymity providing unit 140 encrypts the biometric information X of the registered person input to the registration information input unit 130 and stores the encrypted biometric information X (referred to as Enc(X)) as an anonymized information storage. It is stored in the unit 150. The anonymity providing unit 140 encrypts the biometric information X of the registered person with the public key pk stored in the key storage unit 120.
- the random number generator 160 generates a random number.
- the generated random number is input to the information generation unit 170 and the response calculation unit 190.
- the information generation unit 170 generates generation source information that is information used to generate a challenge.
- the challenge-response method is introduced in the matching system 10 of this embodiment. That is, the server 200 sends a challenge to the client 100. Next, the client 100 transmits the content according to the transmitted challenge to the server 200 as a response.
- the information generation unit 170 of the present embodiment uses the public key pk based on the generated random number and the template (that is, Enc(X) obtained by encrypting the biometric information X of the registered person). To generate origin information. Next, the information generation unit 170 transmits the generated generation source information to the server 200. Unlike the normal challenge-response method, in the challenge-response method of this embodiment, the server 200 generates a challenge based on the transmitted source information.
- collation information Information entered for collation with registered information is referred to as collation information.
- the collation information input unit 180 receives input of collation information.
- the biometric information of the person to be authenticated is input to the verification information input unit 180 as the verification information.
- the registration information and the collation information are represented by a vector having a common dimension.
- the collation information input unit 180 may be any input device according to the collation information.
- the matching information input unit 180 is an input device that reads the fingerprint, extracts a vector serving as the matching information from the fingerprint, and accepts the input of the vector. Good.
- the matching information input unit 180 may be an input device to which a vector serving as matching information is directly input.
- the registration information input unit 130 and the matching information input unit 180 may be a common input device.
- the response calculation unit 190 calculates a response using the public key pk based on the random number included in the generation source information, the biometric information Y of the authenticated person, and the challenge transmitted from the server 200.
- the random number included in the generation source information is information related to the retransmission attack. That is, if the random number included in the generation source information is not acquired, for example, the retransmission attack becomes impossible.
- a private key managed by the server 200 is required to obtain the random number included in the originator information.
- the private key corresponds to the public key pk.
- the challenge-response method introduced in the matching system 10 of the present embodiment has higher immunity to spoofing than the normal challenge-response method described above.
- the calculated response includes an index that is a value indicating the proximity of the biometric information X and the biometric information Y. Further, the calculated response itself is encrypted. At this time, the response calculation unit 190 calculates the response without decoding the template Enc(X). The response calculation unit 190 transmits the calculated response to the server 200.
- the output unit 191 receives the authentication result information indicating the result of biometric authentication transmitted from the server 200.
- the output unit 191 also outputs the received authentication result information to the outside of the client 100.
- the key receiving unit 110, the information generating unit 170, the response calculating unit 190, and the output unit 191 are realized by, for example, a CPU (Central Processing Unit) of a computer that operates according to a client program and a communication interface of the computer.
- the CPU reads a client program from a program recording medium such as a program storage device of a computer, and uses a communication interface according to the program to use the key receiving unit 110, the information generating unit 170, the response calculating unit 190, and the output unit. It may operate as 191.
- the anonymity providing unit 140 and the random number generating unit 160 are realized by, for example, a CPU of a computer that operates according to a client program.
- the CPU may read the client program from the program recording medium as described above, and operate as the anonymity providing unit 140 and the random number generating unit 160 according to the program.
- the key storage unit 120 and the confidential information storage unit 150 are realized by, for example, a storage device included in a computer.
- the server 200 includes a key generation unit 210, a key storage unit 220, a key transmission unit 230, a random number generation unit 240, a challenge generation unit 250, an acceptance range storage unit 260, And a determination unit 270.
- the key generation unit 210 generates a secret key and the public key pk described above. Hereinafter, this secret key will be referred to as sk. No biometric information is input to the server 200. Therefore, the key generation unit 210 generates the public key pk and the secret key sk without depending on the biometric information X (in other words, without using the biometric information X).
- the key generation unit 210 generates a public key pk and a secret key sk using a parameter indicating the strength of the key (called a security parameter). This operation can be shown as follows, where the security parameter is ⁇ .
- the ciphertext is decrypted with the private key sk. This can be shown as follows.
- the key generation unit 210 After generating the public key pk and the secret key sk, the key generation unit 210 stores the public key pk and the secret key sk in the key storage unit 220.
- the key storage unit 220 is a storage device that stores the public key pk and the secret key sk.
- the key transmission unit 230 transmits the public key pk generated by the key generation unit 210 to the client 100.
- the private key sk is not transmitted to the client 100.
- the key generation unit 210 generates a set of public key pk and secret key sk, and the key transmission unit 230 transmits the same public key pk to each client 100. ..
- the public key pk transmitted by the key transmission unit 230 to the client 100 is received by the key reception unit 110 of the client 100 and stored in the key storage unit 120 of the client 100.
- the random number generator 240 generates a random number.
- the generated random number is input to the challenge generation unit 250 and the determination unit 270.
- the challenge generation unit 250 uses the secret key sk or the public key pk to generate a challenge based on the input random number and the generation source information transmitted by the information generation unit 170.
- the challenge generation unit 250 transmits the generated challenge to the client 100.
- the determination unit 270 determines whether or not the received response is a response corresponding to the transmitted challenge, using the secret key sk stored in the key storage unit 220. As an example of the determination, the determination unit 270 determines whether the received response can be decrypted with the secret key sk. It can be said that the decryption is the removal of the anonymity.
- the determination unit 270 uses a random number that is input as to whether or not the index included in the decrypted response is a value within a predetermined acceptance range. To judge. By determining whether or not the index is a value within the acceptance range, the determination unit 270 determines whether or not the biometric information X and the biometric information Y match (in other words, the registered person and the authenticated person). Match each other). The determination unit 270 uses the acceptance range stored in the acceptance range storage unit 260 for the determination.
- the determination unit 270 determines that the biometric information X and the biometric information Y match if the index included in the response is a value within the acceptance range (in other words, the registered person and the authenticated person). Are determined to match). If the index included in the response is not a value within the acceptance range, the determination unit 270 determines that the biometric information X and the biometric information Y do not match (in other words, the registered person and the authenticated person). Are determined not to match).
- the determination unit 270 determines whether or not the biometric information X and the biometric information Y match, depending on whether or not the index included in the response is a value within the acceptance range. Therefore, even if the biometric information X and the biometric information Y do not completely match (even if a deviation that does not matter) occurs, if the index is a value within the acceptable range, the determination unit 270 determines that the biometric information It can be determined that the information X and the biometric information Y match.
- the process of using the acceptance range is an example of a process of determining that the biometric information X and the biometric information Y match even if a deviation that does not cause a problem occurs.
- the post-authentication processing may be executed.
- the server 200 transmits the determination result of the determination unit 270 to the client 100 and the client 100 receives the determination result that the biometric information X and the biometric information Y match
- the authentication is successful.
- the post-authentication process may be executed.
- the device that executes the post-authentication process is not limited to the client 100, and devices other than the client 100 may perform the authentication on the condition that the determination result that the biometric information X and the biometric information Y match is obtained. You may perform a subsequent process.
- the key transmission unit 230, the challenge generation unit 250, and the determination unit 270 are realized by, for example, a CPU of a computer that operates according to a server program and a communication interface of the computer. For example, if the CPU reads a server program from a program recording medium such as a program storage device of a computer and operates as the key transmission unit 230, the challenge generation unit 250, and the determination unit 270 using the communication interface according to the program. Good.
- the key generation unit 210 and the random number generation unit 240 are realized by, for example, a CPU of a computer that operates according to a server program. For example, the CPU may read the server program from the program recording medium as described above, and operate as the key generation unit 210 and the random number generation unit 240 according to the program.
- the key storage unit 220 and the acceptance range storage unit 260 are realized by, for example, a storage device included in a computer.
- FIG. 2 is a flowchart showing an example of the processing progress when the template is stored in advance in the anonymity information storage unit 150 of the client 100. Note that detailed description of the items already described is omitted.
- the key generation unit 210 of the server 200 generates the public key pk and the secret key sk (step S101). At this time, the key generation unit 210 generates the public key pk and the secret key sk without using the biometric information X. The key generation unit 210 also stores the generated public key pk and secret key sk in the key storage unit 220.
- the key transmission unit 230 transmits the public key pk generated in step S101 to the client 100.
- the key receiving unit 110 of the client 100 receives the public key pk from the server 200.
- the key receiving unit 110 stores the public key pk in the key storage unit 120 (step S102).
- the biometric information X of the registered person is input to the registration information input unit 130 (step S103).
- the anonymity providing unit 140 generates a template (Enc(X)) by encrypting the biometric information X with the public key pk stored in the key storage unit 120, and the template is anonymized information storage unit 150. To be stored (step S104).
- step S103 may be executed before step S101.
- FIG. 3 is a flowchart showing an example of the processing progress at the time of authentication. Note that detailed description of the items already described is omitted.
- the information generation unit 170 generates generation source information using the public key pk stored in the key storage unit 120, based on the random number generated by the random number generation unit 160 and the template (step S201). Next, the information generation unit 170 transmits the generated generation source information to the server 200.
- the challenge generator 250 receives the transmitted generator information. Next, the challenge generation unit 250 uses the secret key sk or the public key pk stored in the key storage unit 220 to perform the challenge based on the random number generated by the random number generation unit 240 and the received generation source information. Generate (step S202). Next, the challenge generation unit 250 transmits the generated challenge to the client 100.
- the biometric information Y of the person to be authenticated is input to the collation information input unit 180 (step S203).
- the response calculation unit 190 determines the proximity of the biometric information X and the biometric information Y based on the random number generated by the random number generation unit 160, the biometric information Y input in step S203, and the received challenge.
- a response including an index indicating the level is calculated using the public key pk (step S204).
- the response calculation unit 190 transmits the response calculated in step S204 to the server 200. Then, the determination unit 270 of the server 200 receives the response transmitted from the client 100.
- the determination unit 270 determines whether or not the received response is the response corresponding to the transmitted challenge using the secret key sk (step S205).
- the determination unit 270 determines whether the index included in the response is a value within a predetermined acceptance range, and thus the biological information X. It is determined whether the biometric information Y matches (step S206). Note that when the received response does not correspond to the transmitted challenge, the determination unit 270 does not have to perform the process of step S206.
- the determination unit 270 When the index included in the response is a value within the acceptance range, the determination unit 270 generates the authentication result information indicating “authentication successful” as the biometric information X matches the biometric information Y. If the received response does not correspond to the transmitted challenge, or if the index included in the response is not within the acceptable range, the determination unit 270 determines that the biometric information X and the biometric information Y do not match, and performs “authentication”. Authentication result information indicating "failure” is generated (step S207).
- the determination unit 270 sends the generated authentication result information to the client 100.
- the output unit 191 of the client 100 receives the authentication result information transmitted from the server 200.
- the output unit 191 outputs the received authentication result information (step S208).
- the authentication result information may be directly output from the server 200. Further, the above-described processing progress described with reference to FIG. 3 may be repeatedly executed.
- the ciphertext obtained by encrypting the plaintext m with the public key pk is described as Enc(pk, m). Further, when Enc(pk,m) is represented by another symbol (for example, c), it is described as Enc(pk,m) ⁇ c.
- x, y, z are plain text.
- the anonymity providing unit 140 encrypts the biometric information X of the registered person by an encryption method having additive homomorphism. That is, in this example, the public key pk is a public key in a public key cryptosystem having additive homomorphism.
- the cryptosystem used may be any cryptosystem as long as it has additive homomorphism.
- the ciphertext c 1 of x with the public key pk that is, Enc(pk,x) ⁇ c 1
- the ciphertext c 2 of y with the public key pk that is, Enc( It is possible to calculate the ciphertext Enc(pk, x+y) of x+y from pk, y) ⁇ c 2 ).
- the ciphertext c 1 of x by the public key pk that is, Enc(pk, x) ⁇ c 1
- the ciphertext of x ⁇ z from z that is, Enc(pk , X ⁇ z)
- the anonymized information storage unit 150 stores Enc(X) obtained by encrypting the biometric information X of the registrant with the public key pk in the public key cryptosystem having additive homomorphism. , As a template. The registration process from the generation of the public key pk and the secret key sk to the storage of the template is performed according to the flowchart shown in FIG.
- FIG. 4 is an explanatory diagram showing an example of a specific authentication process in the matching system 10.
- Each step number such as S201 shown in FIG. 4 corresponds to each step number shown in FIG.
- the random number generation unit 160 generates a random number ⁇ k i ⁇ (step S201).
- the random number generation unit 160 inputs the generated random number ⁇ k i ⁇ to the information generation unit 170.
- the information generating unit 170 obtains the ⁇ Enc (k i) ⁇ by encrypting with the public key pk a random number ⁇ k i ⁇ .
- the information generating section 170 calculates ⁇ Enc(x i +k i ) ⁇ from the templates ⁇ Enc(x i ) ⁇ and ⁇ Enc(k i ) ⁇ using homomorphism (step S201). ..
- the reason for masking (concealing) the template with random numbers is to prevent the server 200 from acquiring the biometric information X.
- the information generation unit 170 transmits the calculated ⁇ Enc(x i +k i ) ⁇ to the server 200 as generation source information.
- the challenge generator 250 receives the transmitted ⁇ Enc(x i +k i ) ⁇ .
- the random number generation unit 240 generates a random number ⁇ k' i ⁇ and a random number k', respectively.
- the random number generation unit 240 inputs the generated random number ⁇ k′ i ⁇ and the random number k′ to the challenge generation unit 250.
- the challenge generation unit 250 obtains ⁇ x i +k i ⁇ by decrypting the received ⁇ Enc(x i +k i ) ⁇ with the secret key sk. After decoding, the challenge generation unit 250 calculates ⁇ (x i +k i +k′ i )k′ ⁇ using the input random number (step S202).
- the challenge generation unit 250 encrypts the calculated ⁇ (x i +k i +k′ i )k′ ⁇ and ⁇ k′ i ⁇ with the public key pk, thereby generating ⁇ Enc((x i +k i +k′ i )k′) ⁇ and ⁇ Enc(k′ i ) ⁇ are obtained (step S202).
- the challenge generation unit 250 transmits the obtained ⁇ Enc((x i +k i +k′ i )k′) ⁇ and ⁇ Enc(k′ i ) ⁇ to the client 100 as a challenge.
- the response calculation unit 190 receives the transmitted challenge.
- the response calculation unit 190 uses the homomorphism from ⁇ Enc((x i +k i +k′ i )k′) ⁇ and the biometric information ⁇ y i ⁇ included in the challenge, and uses ⁇ Enc((x i +k i +k′ i )k′ ⁇ y i ) ⁇ is calculated.
- the response calculation unit 190 determines homomorphism from the ⁇ Enc(k i ) ⁇ used in step S201, the ⁇ Enc(k′ i ) ⁇ included in the challenge, and the biometric information ⁇ y i ⁇ . It is used to calculate ⁇ Enc((k i +k′ i ) ⁇ y i ) ⁇ (step S204).
- the determination unit 270 receives the transmitted response.
- the determination unit 270 performs the following calculation using each value obtained in step S205 and the random number k′ used in step S202.
- the determination unit 270 can correctly calculate the inner product value of ⁇ x i ⁇ and ⁇ y i ⁇ .
- the determination unit 270 sends the generated authentication result information to the client 100.
- the output unit 191 receives the transmitted authentication result information.
- the output unit 191 outputs the received authentication result information (step S208).
- the authentication result information may be directly output from the server 200.
- the additive homomorphic ElGamal encryption is used as an example of a public key cryptosystem having additive homomorphism.
- the generator of the group G is g.
- the ciphertext c in this example is a vector.
- the concealed information storage unit 150 stores ⁇ c i ⁇ obtained by encrypting the biometric information X of the registered person with the public key pk in the additive homomorphic ElGamal encryption as a template. ..
- the registration process from the generation of the public key pk and the secret key sk to the storage of the template is performed according to the flowchart shown in FIG.
- FIG. 5 is an explanatory diagram showing another example of a specific authentication process in the matching system 10.
- Each step number such as S201 shown in FIG. 5 corresponds to each step number shown in FIG.
- the random number generation unit 160 inputs the generated random number ⁇ k i ⁇ to the information generation unit 170.
- the reason why the template is masked (concealed) with random numbers is to reduce the possibility that the biometric information X is acquired by the server 200.
- the information generation unit 170 transmits the calculated ⁇ A i ⁇ to the server 200 as generation source information.
- Challenge generation unit 250 receives the transmitted ⁇ A i ⁇ .
- the random number generation unit 240 inputs the generated random number k′ and the generated random number ⁇ k′ i ⁇ to the challenge generation unit 250.
- the challenge generation unit 250 transmits the obtained ⁇ A′ i ⁇ and ⁇ g k ′ i ⁇ to the client 100 as a challenge.
- the response calculation unit 190 receives the transmitted challenge.
- the response calculation unit 190 calculates the response D as follows (step S204).
- the calculated response D represents the distance to the challenge.
- the response D is a vector.
- the response calculation unit 190 transmits the calculated response D to the server 200.
- the determination unit 270 receives the transmitted response D.
- the determination unit 270 determines whether or not the response D using the secret key sk is compatible with the challenge by confirming whether or not the following calculation can be executed (step S205). In the following calculation, the deviation for the challenge is corrected.
- the determination unit 270 determines whether d obtained in step S205 is a value within the acceptance range ⁇ g a1 ,..., G an ⁇ (step S206).
- the ⁇ a i ⁇ itself does not have to be stored in the acceptance range storage unit 260.
- the determination unit 270 When d is a value within the acceptable range, the determination unit 270 generates authentication result information indicating “authentication successful (OK shown in FIG. 5)”. If d is not within the acceptable range, the determination unit 270 generates authentication result information indicating "authentication failure (NG shown in FIG. 5)" (step S207).
- the determination unit 270 sends the generated authentication result information to the client 100.
- the output unit 191 receives the transmitted authentication result information.
- the output unit 191 outputs the received authentication result information (step S208).
- the authentication result information may be directly output from the server 200.
- This specific example has an advantage that the amount of communication between the client 100 and the server 200 is reduced.
- an additive homomorphic Elgamal cipher is assumed as the additive homomorphic cipher used in Example 1 for comparison.
- the ⁇ Enc(x i +k i ) ⁇ which is the generation source information in Specific Example 1, is composed of 2n group G elements of (g ri , g x ⁇ g ri ⁇ sk ) ⁇ .
- ⁇ A i ⁇ which is the generation source information in the specific example 2 is configured by the elements of the group G of n of ⁇ g xi g ri sk g k ⁇ . The same applies to the number of elements that make up each challenge.
- the communication amount regarding the origin information and the challenge between the client 100 and the server 200 is 4n in the specific example 1 and 2n in the specific example 2. As described above, the amount of communication in this specific example is smaller than that in specific example 1.
- biometric information used for the service provided by a certain business operator is stored only in the client as a template, if the biometric information is leaked, the business operator's responsibility may be pursued. ..
- the encrypted biometric information of the registered person is stored in the client as a template.
- the client decrypts the template with the key.
- the biometric information decrypted from the template may leak. Even if the template is not decrypted, if the template and the key are stolen together by the third party, the third party can obtain the biometric information by decrypting the template.
- the cash card IC chip has tamper resistance.
- biometric authentication is performed outside the IC chip, if the encrypted biometric information stored in the IC chip is decrypted and transmitted outside the IC chip, the decrypted biometric information may leak. There is a nature.
- the key generation unit 210 of the server 200 generates the public key pk and the secret key sk without using the biometric information X. Then, the key receiving unit 110 of the client 100 receives the public key pk from the server 200 and stores it in the key storage unit 120 of the client 100.
- the anonymity providing unit 140 generates a template by encrypting the biometric information X using the public key pk generated without using the biometric information X. Then, the template is stored in the confidential information storage unit 150 of the client 100. Therefore, according to this embodiment, the template can be stored in the client 100.
- the template Since the template is encrypted, it is possible to prevent the biometric information X or a part of X from leaking from the template. Further, even if the template and the public key pk are stolen together from the client 100, the data contained in the template cannot be decrypted with the public key pk, so that the biometric information X or a part of X can be prevented from leaking. . Since the server 200 does not receive the biometric information X even when the template is registered on the client 100 side, it is possible to prevent the biometric information X or a part of the biometric information X from leaking from the server 200.
- the information generation unit 170 first generates generation source information that is information used to generate a challenge.
- the challenge generation unit 250 generates a challenge based on the generation source information.
- the response calculation unit 190 calculates a response including an index indicating the proximity of the biometric information X and the biometric information Y based on the input biometric information Y and the received challenge.
- the determination unit 270 determines whether or not the received response is the response corresponding to the transmitted challenge, using the secret key sk stored in the key storage unit 220.
- the determination unit 270 determines whether the biometric information X and the biometric information Y are determined by determining whether or not the index included in the response is a value within the acceptance range. It is determined whether or not they match.
- the verification system 10 of the present exemplary embodiment authenticates by the challenge response method, the value of the response is changed for each authentication. That is, even if the attacker eavesdrops the response value, the eavesdropped value can no longer be used in the next authentication, so that the retransmission attack is prevented.
- the impersonation is performed based on the challenge and the response at an arbitrary time and the challenge at the time when the impersonation is requested.
- a response at the time when is requested may be generated.
- the originator information in which the challenge in the normal challenge-response method is embedded is called a challenge so that the attacker does not know it. Therefore, the attacker cannot grasp the challenge in the normal challenge response method, and cannot execute the above attack. Therefore, the collation system 10 of the present embodiment has higher immunity to spoofing as compared with the collation system in which the normal challenge-response method is introduced.
- the acceptance range stored in the acceptance range storage unit 260 may be changed for each user and each client. Further, the acceptance range may be changed according to external factors and the like. Examples of external factors include the frequency of authentication received by the server 200, the frequency of suspicious access, the load state of the communication network and the CPU, and the like. When the acceptance range is changed, the load on the communication network and the CPU may be reduced.
- FIG. 6 is a schematic block diagram showing a configuration example of a computer related to the client 100 and the server 200 in the above-described embodiment and its specific example. As described below with reference to FIG. 6, the computer used as the client 100 and the computer used as the server 200 are different computers.
- the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, and a communication interface 1005.
- the client 100 and the server 200 in the embodiment of the present invention and its specific example are realized by a computer 1000.
- the computer used as the client 100 and the computer used as the server 200 are different computers.
- the operation of the computer 1000 that realizes the client 100 is stored in the auxiliary storage device 1003 in the form of a client program.
- the CPU 1001 reads the client program from the auxiliary storage device 1003, expands it in the main storage device 1002, and executes the operation of the client 100 described in the above-described embodiment and its specific example according to the client program.
- the operation of the computer 1000 that realizes the server 200 is stored in the auxiliary storage device 1003 in the form of a server program.
- the CPU 1001 reads the server program from the auxiliary storage device 1003, expands it in the main storage device 1002, and executes the operation of the server 200 described in the above embodiment and its specific example according to the server program.
- the auxiliary storage device 1003 is an example of a non-transitory tangible medium.
- a non-transitory tangible medium a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory) connected via the interface 1004, A semiconductor memory etc. are mentioned.
- the computer 1000 that receives the distribution may expand the program in the main storage device 1002 and operate according to the program.
- the constituent elements of the client 100 may be realized by a general-purpose or special-purpose circuit, a processor, or a combination thereof. These may be configured by a single chip, or may be configured by a plurality of chips connected via a bus. A part or all of each component may be realized by a combination of the above-described circuit and the like and a program. This also applies to the server 200.
- FIG. 7 is a block diagram showing an outline of the matching system according to the present invention.
- the collation system 20 according to the present invention is a collation system including a client 30 (for example, the client 100) and a server 40 (for example, the server 200), and a challenge response system is introduced, and the client 30 discloses registration information.
- the confidential information storage unit 31 (for example, the confidential information storage unit 150) that stores the confidential information that is anonymized with a key, and the generation source information that is information for generating a challenge based on the confidential information and the random number.
- the information generation unit 32 (for example, the information generation unit 170) that generates the public key using the public key, the challenge transmitted from the server 40, the collation information that is collated with the registration information, and the random number are used to deal with the challenge.
- the server 40 includes a response calculation unit 33 (for example, the response calculation unit 190) that calculates a response, and the server 40 includes a key storage unit 41 (for example, the key storage unit 220) that stores a private key corresponding to the public key, and the client 30.
- the challenge generation unit 42 (for example, the challenge generation unit 250) that generates a challenge based on the generation source information transmitted from the.
- the verification system can prevent a resend attack in the authentication process.
- the server 40 may also include a determination unit (for example, the determination unit 270) that determines whether or not the response sent from the client 30 corresponds to the challenge, using the secret key. Further, the determination unit may determine whether or not the matching information and the registration information match based on the index included in the response corresponding to the challenge and indicating the proximity of the registration information and the matching information. .. Further, the registration information and the collation information may be vectors.
- a determination unit for example, the determination unit 270
- the determination unit may determine whether or not the matching information and the registration information match based on the index included in the response corresponding to the challenge and indicating the proximity of the registration information and the matching information. .. Further, the registration information and the collation information may be vectors.
- the verification system can determine whether the verification information and the registration information match.
- the client 30 generates concealed information by concealing the input registration information with a public key, and stores the concealed information in the concealed information storage unit 31 (for example, the concealment unit. 140) may be provided.
- the server 40 also includes a key generation unit (for example, the key generation unit 210) that generates the private key and the public key, and a key transmission unit (for example, the key transmission unit 230) that transmits the public key to the client 30.
- the private key and public key may be the private key and public key in a public key cryptosystem having additive homomorphism.
- the public key cryptosystem may be additive homomorphic ElGamal cryptosystem.
- the verification system can encrypt the registration information using public key cryptography.
- a collation system that includes a client and a server and has a challenge-response method introduced,
- the client is A confidential information storage unit that stores confidential information in which registered information is confidential with a public key;
- An information generation unit that generates generator information, which is information for generating a challenge, using the public key based on the anonymity information and a random number, The challenge transmitted from the server, collation information that is collated with the registration information, and a response calculation unit that calculates a response corresponding to the challenge using the random number
- the server is A key storage unit that stores a private key corresponding to the public key,
- a challenge generation unit that generates the challenge based on the generation source information transmitted from the client.
- the server is The collation system according to appendix 1, further comprising: a determination unit that determines whether or not the response transmitted from the client corresponds to the challenge using a secret key.
- the determination unit is included in the response corresponding to the challenge, and determines whether or not the matching information and the registration information match based on an index indicating the proximity of the registration information and the matching information. Matching system.
- the registration information and the matching information are vectors.
- the matching system according to any one of appendices 1 to 3.
- the client is The confidential information is generated by concealing the input registration information with a public key, and the confidential information is stored in the confidential information storage unit.
- a confidential unit is provided. The matching system described.
- the server is A key generation unit that generates a private key and a public key,
- the collation system according to any one of appendices 1 to 5, further comprising: a key transmission unit that transmits the public key to a client.
- the private key and the public key are a private key and a public key in a public key cryptosystem having additive homomorphism.
- the matching system according to any one of appendices 1 to 6.
- the public key cryptosystem is an additive homomorphic ElGamal cryptosystem.
- a client that introduced a challenge response method A confidential information storage unit that stores confidential information in which registered information is confidential with a public key; An information generation unit that generates generator information, which is information for generating a challenge, using the public key based on the anonymity information and a random number, The challenge transmitted from the server to which the challenge response method is introduced; collation information collated with the registration information; and a response calculation unit that calculates a response corresponding to the challenge using the random number.
- Client characterized by.
- a server with a challenge-response method installed A key storage unit for storing a private key corresponding to a public key held by the client to which the challenge response method is introduced; Information for generating a challenge, the registration information is generated by using the public key based on the secret information and the random number that is concealed by the public key, and the generation source information transmitted from the client.
- a challenge generation unit that generates the challenge based on the server.
- appendix 12 The server according to appendix 11, further comprising: a determination unit that determines whether or not the response transmitted from the client corresponds to the challenge using the secret key.
- the determination unit is included in the response corresponding to the challenge, and determines whether or not the matching information and the registration information match based on an index indicating the proximity of the registration information and the matching information. Server.
- a key generation unit that generates a private key and a public key
- the server according to any one of supplementary notes 11 to 13, further comprising a key transmitting unit that transmits the public key to the client.
- a collation method in a collation system including a client and a server, in which a challenge response method is introduced,
- the client is Store the confidential information in which the registration information is encrypted with the public key in the confidential information storage unit, Generating generator information, which is information for generating a challenge, using the public key based on the anonymity information and a random number, Send the generated origin information to the server,
- the server is The private key corresponding to the public key is stored in the key storage unit, Generate the challenge based on the originator information sent from the client, Sending the generated challenge to the client,
- the client is A response method corresponding to the challenge is calculated using the challenge transmitted from the server, the collation information collated with the registration information, and the random number.
- a verification method in a server in which a challenge response method is introduced The private key corresponding to the public key held by the client to which the challenge response method is introduced is stored in the key storage unit, Information for generating a challenge, the registration information is generated by using the public key based on the secret information and the random number that is concealed by the public key, and the generation source information transmitted from the client.
- a matching method wherein the challenge is generated based on the above.
- a client program that includes a confidential information storage unit that stores confidential information in which registration information is encrypted with a public key, and is installed in a computer that operates as a client in which a challenge response method is introduced.
- Generation processing of generating generation information which is information for generating a challenge, using the public key based on the anonymity information and a random number, and the challenge transmitted from a server to which the challenge response method is introduced.
- a program for a client for executing a calculation process for calculating a response corresponding to the challenge using the matching information matched with the registration information and the random number.
- a server program installed on a computer that operates as a server in which a challenge response system is installed, and has a key storage unit that stores a private key corresponding to a public key held by a client in which the challenge response system is installed.
- Information for generating a challenge the registration information is generated by using the public key based on the secret information and the random number that is concealed by the public key, and the generation source information transmitted from the client.
- a server program for executing a generation process for generating the challenge based on the above.
- the present invention is preferably applied to a collation system that performs authentication using a client and a server.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Biodiversity & Conservation Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Collating Specific Patterns (AREA)
- Storage Device Security (AREA)
Abstract
照合システム20は、クライアント30とサーバ40とを備え、チャレンジレスポンス方式が導入された照合システムであって、クライアント30は、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部31と、チャレンジを生成するための情報である生成元情報を秘匿化情報と乱数とを基に公開鍵を用いて生成する情報生成部32と、サーバ40から送信されたチャレンジと、登録情報と照合される照合情報と、乱数とを用いてチャレンジに対応するレスポンスを算出するレスポンス算出部33とを備え、サーバ40は、公開鍵に対応する秘密鍵を記憶する鍵記憶部41と、クライアント30から送信された生成元情報を基にチャレンジを生成するチャレンジ生成部42とを備える。
Description
本発明は、照合システム、照合方法、並びに、照合システムに適用されるクライアント、サーバ、クライアント用プログラムおよびサーバ用プログラムに関する。
認証の一例として、生体認証がある。「生体認証」とは、被登録者の生体情報と、被認証者の生体情報とを照合することにより、被登録者と被認証者とが一致するか否かを確認する個人認証の手法である。
また、「生体情報」とは、身体や行動に関する個人の一部の特徴から抽出されたデータ、または、その抽出されたデータを変換することによって生成されたデータである。このデータは、特徴量と称されることもある。
また、「テンプレート」とは、生体認証のために予め保存される、被登録者の生体情報(以下では登録情報と呼ぶ。)から生成されたデータである。
クライアントサーバシステムで生体認証を行う場合、テンプレートをクライアントに保存する態様と、テンプレートをサーバに保存する態様とがある。
特許文献1には、二値のベクトルに関して漏えいやなりすまし等を回避可能とし安全性を高める照合システムが記載されている。
また、特許文献2には、準同型暗号処理により平文を暗号化した対象暗号文が正当であることを証明する証明装置が記載されている。
クライアントにテンプレートを保存する態様の例としてFIDO(Fast IDentity Online)が挙げられる。FIDOでは、クライアントに予めテンプレートが保存される。そして、そのクライアントを現在使用しているユーザ(被認証者)の生体情報がクライアントに入力されると、クライアントは、入力された生体情報と、テンプレートとによって、被認証者が被登録者に該当するか否かを判定する。そして、被認証者が被登録者に該当するとクライアントが判定した場合、サーバは、クライアントが署名鍵によって生成した署名に基づいて、クライアントが有する署名鍵(秘密鍵)と、サーバが有する検証鍵(公開鍵)とが対をなす鍵であるか否かを判定する。すなわち、FIDOでは、クライアントにおいて生体認証に成功し、サーバにおいてクライアントの署名の検証に成功した場合に、最終的に、ユーザ(被認証者)の認証に成功したと判定される。
また、FIDOでは、被登録者の生体情報を暗号化した情報が、テンプレートとして予めクライアントに保存される。そして、その暗号化された情報を復号するための鍵もクライアントに保存される。被認証者の生体情報がクライアントに入力されると、クライアントは、その鍵を用いてテンプレートを復号し、復号された生体情報と、入力された生体情報を用いて、被認証者が被登録者に該当するか否かを判定する。
また、キャッシュカードのIC(Integrated Circuit)チップに、暗号化された生体情報を保存しておく場合もある。
ここで、日本の「個人情報の保護に関する法律(以下、個人情報保護法と記す。)」において、個人情報として保護される対象について説明する。日本の個人情報保護法では、個人を識別可能な情報である生体情報は個人情報であると定められている。さらに、個人情報保護法では、電子的なデータベース、または、紙のデータベースで管理される個人情報が、個人情報保護法による保護の対象であると定められている。
テンプレートをサーバに保存する態様では、個々のクライアントを使用する個々のユーザのテンプレートが、共通のサーバ内でデータベースとして保存されていると言える。従って、サーバに保存されるテンプレートは、個人情報保護法による保護対象である。
一方、テンプレートをクライアントに保存する態様では、クライアントは、そのクライアントを使用する一人または少数のユーザのテンプレートを保存する。従って、そのテンプレートはデータベースとして保存されているとは言えない。そのため、クライアントに保存されるテンプレートは、個人情報保護法による保護対象ではない可能性がある。
テンプレートをクライアントに保存する場合であっても、クライアントからテンプレートが漏えいする可能性を考慮した上で、被登録者の生体情報(すなわち登録情報)が漏えいすることを防止することが好ましい。言い換えると、テンプレートから登録情報が漏えいすることを防止することが好ましい。
また、生体によって認証を行う場合に限らず、パスワードによって認証を行う場合や、ICカード等に保存された秘密鍵によって認証を行う場合であっても、クライアントサーバシステムのクライアントに登録情報であるパスワードや秘密鍵から生成したテンプレートを記憶させる場合において、クライアントから登録情報が漏えいすることを防止することが好ましい。
登録情報が漏えいすることを防止することが好ましい他の理由は、登録情報が漏えいすると、漏えいされた登録情報が用いられたなりすましがサーバに対して実行される可能性があるためである。しかし、可能な限りのセキュリティ対策が施行された場合であっても、クライアントサーバシステムから登録情報が漏えいする可能性を完全に無くすことは困難である。
そこで、本発明は、認証処理における再送攻撃を防止できる照合システム、照合方法、並びに、照合システムに適用されるクライアント、サーバ、クライアント用プログラムおよびサーバ用プログラムを提供することを目的とする。
本発明による照合システムは、クライアントとサーバとを備え、チャレンジレスポンス方式が導入された照合システムであって、クライアントは、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、チャレンジを生成するための情報である生成元情報を秘匿化情報と乱数とを基に公開鍵を用いて生成する情報生成部と、サーバから送信されたチャレンジと、登録情報と照合される照合情報と、乱数とを用いてチャレンジに対応するレスポンスを算出するレスポンス算出部とを備え、サーバは、公開鍵に対応する秘密鍵を記憶する鍵記憶部と、クライアントから送信された生成元情報を基にチャレンジを生成するチャレンジ生成部とを備えることを特徴とする。
また、本発明によるクライアントは、チャレンジレスポンス方式が導入されたクライアントであって、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、チャレンジを生成するための情報である生成元情報を秘匿化情報と乱数とを基に公開鍵を用いて生成する情報生成部と、チャレンジレスポンス方式が導入されたサーバから送信されたチャレンジと、登録情報と照合される照合情報と、乱数とを用いてチャレンジに対応するレスポンスを算出するレスポンス算出部とを備えることを特徴とする。
また、本発明によるサーバは、チャレンジレスポンス方式が導入されたサーバであって、チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を記憶する鍵記憶部と、チャレンジを生成するための情報であって、登録情報が公開鍵で秘匿化された秘匿化情報と乱数とを基に公開鍵が用いられて生成されクライアントから送信された生成元情報を基にチャレンジを生成するチャレンジ生成部とを備えることを特徴とする。
また、本発明による照合方法は、クライアントとサーバとを備え、チャレンジレスポンス方式が導入された照合システムにおける照合方法であって、クライアントが、登録情報を公開鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、チャレンジを生成するための情報である生成元情報を秘匿化情報と乱数とを基に公開鍵を用いて生成し、生成された生成元情報をサーバに送信し、サーバが、公開鍵に対応する秘密鍵を鍵記憶部に記憶させ、クライアントから送信された生成元情報を基にチャレンジを生成し、生成されたチャレンジをクライアントに送信し、クライアントが、サーバから送信されたチャレンジと、登録情報と照合される照合情報と、乱数とを用いてチャレンジに対応するレスポンスを算出することを特徴とする。
また、本発明による照合方法は、チャレンジレスポンス方式が導入されたクライアントにおける照合方法であって、登録情報を公開鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、チャレンジを生成するための情報である生成元情報を秘匿化情報と乱数とを基に公開鍵を用いて生成し、チャレンジレスポンス方式が導入されたサーバから送信されたチャレンジと、登録情報と照合される照合情報と、乱数とを用いてチャレンジに対応するレスポンスを算出することを特徴とする。
また、本発明による照合方法は、チャレンジレスポンス方式が導入されたサーバにおける照合方法であって、チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を鍵記憶部に記憶させ、チャレンジを生成するための情報であって、登録情報が公開鍵で秘匿化された秘匿化情報と乱数とを基に公開鍵が用いられて生成されクライアントから送信された生成元情報を基にチャレンジを生成することを特徴とする。
また、本発明によるクライアント用プログラムは、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備え、チャレンジレスポンス方式が導入されたクライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、コンピュータに、チャレンジを生成するための情報である生成元情報を秘匿化情報と乱数とを基に公開鍵を用いて生成する生成処理、およびチャレンジレスポンス方式が導入されたサーバから送信されたチャレンジと、登録情報と照合される照合情報と、乱数とを用いてチャレンジに対応するレスポンスを算出する算出処理を実行させることを特徴とする。
また、本発明によるサーバ用プログラムは、チャレンジレスポンス方式が導入されたサーバとして動作し、チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を記憶する鍵記憶部を備えるコンピュータに搭載されるサーバ用プログラムであって、コンピュータに、チャレンジを生成するための情報であって、登録情報が公開鍵で秘匿化された秘匿化情報と乱数とを基に公開鍵が用いられて生成されクライアントから送信された生成元情報を基にチャレンジを生成する生成処理を実行させることを特徴とする。
本発明によれば、認証処理における再送攻撃を防止できる。
以下、本発明の実施形態を図面を参照して説明する。以下の説明では、本発明の照合システムが生体認証に適用される場合を例にして説明する。ただし、本発明の照合システムは、生体認証以外の認証に適用されてもよい。
図1は、本発明の実施形態の照合システムの構成例を示すブロック図である。図1に示す照合システム10は、クライアント100と、サーバ200とを備える。なお、図1では、1台のクライアント100を図示しているが、クライアント100は複数存在していてもよい。クライアント100と、サーバ200とは、通信ネットワークを介して通信可能である。
例えば、クライアントからサーバに送信された登録情報を、攻撃者が盗聴したとする。盗聴された登録情報をサーバに再送する再送攻撃を攻撃者が実行すると、サーバは、クライアントから送信された登録情報として、再送された登録情報を受理する場合を考える。
この場合、上記の再送攻撃を通じて、攻撃者は、クライアントになりすまし、サーバへの認証を成功させることが可能である。攻撃者がなりすましに成功した場合、不正ログイン等の被害が生じる。
本実施形態の照合システム10には、なりすましが防止されるように、チャレンジレスポンス方式が導入されている。具体的には、サーバ200がチャレンジレスポンス方式でクライアント100に登録情報と、後述の照合情報(登録情報との照合のために入力される情報)との近さを含むレスポンスを計算させることによって、レスポンスの値が認証ごとに変更される。
認証ごとにレスポンスの値が変更されれば、攻撃者がレスポンスの値を盗聴したとしても、盗聴された値は次の認証においてもはや使用不能であるため、再送攻撃が防止される。以下、本実施形態の照合システム10の各構成要素を説明する。
図1に示すように、クライアント100は、鍵受信部110と、鍵記憶部120と、登録情報入力部130と、秘匿化部140と、秘匿化情報記憶部150と、乱数生成部160と、情報生成部170と、照合情報入力部180と、レスポンス算出部190と、出力部191とを備える。
鍵受信部110は、サーバ200によって生成され、サーバ200から送信される公開鍵を受信し、その公開鍵を鍵記憶部120に記憶させる。以下、この公開鍵をpkと記す。
鍵記憶部120は、公開鍵pkを記憶する記憶装置である。
登録情報入力部130は、登録情報の入力を受け付ける。本実施形態では、登録情報として、被登録者の生体情報が登録情報入力部130に入力される。
なお、本実施形態では、登録情報、および照合情報が、共通の次元のベクトルで表されている場合を例にして説明する。
登録情報入力部130は、登録情報に応じた入力デバイスであればよい。例えば、指紋から抽出される生体情報を登録情報とする場合、登録情報入力部130は、指紋を読み取り、その指紋から登録情報となるベクトルを抽出し、そのベクトルの入力を受け付ける入力デバイスであってもよい。また、登録情報入力部130は、登録情報となるベクトルが直接、入力される入力デバイスであってもよい。
なお、本実施形態において、生体情報は、指紋以外に虹彩、網膜、顔、血管(静脈)、掌紋、声紋、またはこれらの組み合わせから抽出されてもよい。生体情報は、上述した例以外の、生体を識別可能な他の情報から抽出されてもよい。
登録情報入力部130に入力される被登録者の生体情報(登録情報)に該当するベクトルをXと記す。
秘匿化部140は、登録情報入力部130に入力された被登録者の生体情報Xを秘匿化し、生体情報Xを秘匿化した情報(秘匿化情報と記す。)を、秘匿化情報記憶部150に記憶させる。秘匿化情報記憶部150は、秘匿化情報を記憶する記憶装置である。
この秘匿化情報は、生体認証のために予め記憶される、被登録者の生体情報から生成されたデータである。従って、この秘匿化情報は、テンプレートである。なお、鍵記憶部120に記憶される公開鍵pkは、被登録者の生体情報から生成されたデータではないので、公開鍵pkはテンプレートではない。
本実施形態では、秘匿化の具体例として、暗号化を例にして説明する。すなわち、秘匿化部140は、登録情報入力部130に入力された被登録者の生体情報Xを暗号化し、暗号化された生体情報X(Enc(X)と記す。)を、秘匿化情報記憶部150に記憶させる。秘匿化部140は、鍵記憶部120に記憶されている公開鍵pkによって、被登録者の生体情報Xを暗号化する。
乱数生成部160は、乱数を生成する。生成された乱数は、情報生成部170と、レスポンス算出部190とに入力される。
情報生成部170は、チャレンジの生成に用いられる情報である生成元情報を生成する。上述したように、本実施形態の照合システム10には、チャレンジレスポンス方式が導入されている。すなわち、サーバ200は、クライアント100にチャレンジを送信する。次いで、クライアント100は、送信されたチャレンジに応じた内容を、レスポンスとしてサーバ200に送信する。
しかし、一般的にサーバ側からチャレンジを開始する通常のチャレンジレスポンス方式が導入された場合、攻撃者がレスポンスを偽造できるという問題がある。その理由は、通常のチャレンジレスポンス方式では、攻撃者が前回の認証時のレスポンスから前回のチャレンジを取り除き、新しいチャレンジを前回の認証時のレスポンスに埋め込むことによって、新しいレスポンスを生成できる可能性があるためである。通常のチャレンジレスポンス方式は、例えば特許文献1に記載されている照合システムや、特許文献2に記載されている証明装置に導入されている。
本実施形態の情報生成部170は、生成された乱数とテンプレート(すなわち、被登録者の生体情報Xを暗号化することで得られたEnc(X))とを基に、公開鍵pkを用いて生成元情報を生成する。次いで、情報生成部170は、生成された生成元情報をサーバ200に送信する。通常のチャレンジレスポンス方式と異なり、本実施形態のチャレンジレスポンス方式では、サーバ200が送信された生成元情報を基にチャレンジを生成する。
登録情報との照合のために入力される情報を照合情報と記す。照合情報入力部180は、照合情報の入力を受け付ける。本実施形態では、照合情報として、被認証者の生体情報が照合情報入力部180に入力される。前述のように、登録情報および照合情報は、共通の次元のベクトルで表されている。
照合情報入力部180は、照合情報に応じた入力デバイスであればよい。例えば、指紋から抽出される生体情報を照合情報とする場合、照合情報入力部180は、指紋を読み取り、その指紋から照合情報となるベクトルを抽出し、そのベクトルの入力を受け付ける入力デバイスであってもよい。また、照合情報入力部180は、照合情報となるベクトルが直接入力される入力デバイスであってもよい。また、登録情報入力部130と照合情報入力部180とが共通の入力デバイスであってもよい。
照合情報入力部180に入力される被認証者の生体情報(照合情報)に該当するベクトルをYと記す。
レスポンス算出部190は、生成元情報に含まれる乱数と、被認証者の生体情報Yと、サーバ200から送信されたチャレンジとを基に、公開鍵pkを用いてレスポンスを算出する。生成元情報に含まれる乱数は、再送攻撃に関係する情報である。すなわち、生成元情報に含まれる乱数が取得されないと、例えば再送攻撃が不可能になる。
生成元情報に含まれる乱数を取得するためには、サーバ200で管理されている秘密鍵が求められる。秘密鍵は、公開鍵pkに対応する。しかし、攻撃者が秘密鍵を窃取することは困難である。よって、本実施形態の照合システム10に導入されているチャレンジレスポンス方式は、上記の通常のチャレンジレスポンス方式に比べて、なりすましへの耐性が高い。
算出されるレスポンスには、生体情報Xと生体情報Yとの近さを示す値である指標が含まれている。また、算出されるレスポンス自体は、暗号化されている。このとき、レスポンス算出部190は、テンプレートEnc(X)を復号することなく、レスポンスを算出する。レスポンス算出部190は、算出されたレスポンスをサーバ200に送信する。
出力部191は、サーバ200から送信された、生体認証の結果を示す認証結果情報を受信する。また、出力部191は、受信された認証結果情報を、クライアント100の外部に出力する。
鍵受信部110、情報生成部170、レスポンス算出部190、および出力部191は、例えば、クライアント用プログラムに従って動作するコンピュータのCPU(Central Processing Unit )、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、鍵受信部110、情報生成部170、レスポンス算出部190、および出力部191として動作すればよい。また、秘匿化部140および乱数生成部160は、例えば、クライアント用プログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが上記のようにプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、秘匿化部140および乱数生成部160として動作すればよい。
鍵記憶部120および秘匿化情報記憶部150は、例えば、コンピュータが備える記憶装置によって実現される。
また、図1に示すように、サーバ200は、鍵生成部210と、鍵記憶部220と、鍵送信部230と、乱数生成部240と、チャレンジ生成部250と、受理範囲記憶部260と、判定部270とを備える。
鍵生成部210は、秘密鍵および前述の公開鍵pkを生成する。以下、この秘密鍵をskと記す。サーバ200には生体情報は入力されない。従って、鍵生成部210は、生体情報Xに依存することなく(換言すれば、生体情報Xを用いずに)、公開鍵pkおよび秘密鍵skを生成する。
鍵生成部210は、鍵の強度を示すパラメータ(セキュリティパラメータと呼ばれる。)を用いて、公開鍵pkおよび秘密鍵skを生成する。この動作は、セキュリティパラメータをκとすると、以下のように示すことができる。
KeyGen(1κ)→(pk,sk)
また、平文のメッセージmを公開鍵pkで暗号化した暗号文をcとするということは、以下のように示すことができる。
Enc(pk,m)→c
暗号文は、秘密鍵skによって復号される。このことは、以下のように示すことができる。
Dec(sk,c)→m
鍵生成部210は、公開鍵pkおよび秘密鍵skを生成すると、鍵記憶部220にその公開鍵pkおよび秘密鍵skを記憶させる。
鍵記憶部220は、公開鍵pkおよび秘密鍵skを記憶する記憶装置である。
また、鍵送信部230は、鍵生成部210によって生成された公開鍵pkをクライアント100に送信する。なお、秘密鍵skはクライアント100に送信されない。
本実施形態では、鍵生成部210が、一組の公開鍵pkおよび秘密鍵skを生成し、鍵送信部230がそれぞれのクライアント100に同一の公開鍵pkを送信する場合を例にして説明する。
鍵送信部230がクライアント100に送信した公開鍵pkは、クライアント100の鍵受信部110によって受信され、クライアント100の鍵記憶部120に記憶される。
乱数生成部240は、乱数を生成する。生成された乱数は、チャレンジ生成部250と、判定部270とに入力される。
チャレンジ生成部250は、入力された乱数と、情報生成部170が送信した生成元情報とを基に、秘密鍵skまたは公開鍵pkを用いてチャレンジを生成する。チャレンジ生成部250は、生成されたチャレンジをクライアント100に送信する。
判定部270は、受信されたレスポンスが送信されたチャレンジに対応するレスポンスであるか否かを、鍵記憶部220に記憶されている秘密鍵skを用いて判定する。判定の一例として、判定部270は、受信されたレスポンスが秘密鍵skによって復号できるか否かを判定する。なお、復号は、秘匿化の解除であると言うことができる。
受信されたレスポンスが送信されたチャレンジに対応する場合、判定部270は、復号されたレスポンスに含まれる指標が、予め定められた受理範囲内の値であるか否かを入力された乱数を用いて判定する。指標が受理範囲内の値であるか否かを判定することによって、判定部270は、生体情報Xと生体情報Yとが合致するか否か(換言すれば、被登録者と被認証者とが一致するか否か)を判定する。なお、判定部270は、受理範囲記憶部260に記憶されている受理範囲を判定に使用する。
すなわち、判定部270は、レスポンスに含まれる指標が、受理範囲内の値であるならば、生体情報Xと生体情報Yとが合致すると判定する(換言すれば、被登録者と被認証者とが一致すると判定する)。また、判定部270は、レスポンスに含まれる指標が、受理範囲内の値でないならば、生体情報Xと生体情報Yとが合致しないと判定する(換言すれば、被登録者と被認証者とが一致しないと判定する)。
上記のように、判定部270は、レスポンスに含まれる指標が、受理範囲内の値であるか否かによって、生体情報Xと生体情報Yとが合致するか否かを判定する。従って、生体情報Xと生体情報Yとが完全に一致していなくても(問題にならない程度のずれが生じていても)、指標が受理範囲内の値であれば、判定部270は、生体情報Xと生体情報Yとが合致すると判定し得る。なお、受理範囲を用いる処理は、問題にならない程度のずれが生じていても生体情報Xと生体情報Yとが合致すると判定する処理の一例である。
生体情報Xと生体情報Yとが合致した場合に、認証に成功したものとして、認証後の処理を実行すればよい。例えば、一例として、サーバ200が、判定部270の判定結果を、クライアント100に送信し、クライアント100は、生体情報Xと生体情報Yとが合致したという判定結果を受信した場合に、認証に成功したものとして、認証後の処理を実行してもよい。ただし、認証後の処理を実行する装置は、クライアント100に限定されず、生体情報Xと生体情報Yとが合致したという判定結果が得られたことを条件に、クライアント100以外の装置が、認証後の処理を実行してもよい。
鍵送信部230、チャレンジ生成部250、および判定部270は、例えば、サーバ用プログラムに従って動作するコンピュータのCPU、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からサーバ用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、鍵送信部230、チャレンジ生成部250、および判定部270として動作すればよい。また、鍵生成部210および乱数生成部240は、例えば、サーバ用プログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが上記のようにプログラム記録媒体からサーバ用プログラムを読み込み、そのプログラムに従って、鍵生成部210および乱数生成部240として動作すればよい。
鍵記憶部220および受理範囲記憶部260は、例えば、コンピュータが備える記憶装置によって実現される。
次に、処理経過について説明する。図2は、クライアント100の秘匿化情報記憶部150に予めテンプレートを記憶させる際の処理経過の例を示すフローチャートである。なお、既に説明した事項については、詳細な説明を省略する。
まず、サーバ200の鍵生成部210が、公開鍵pkおよび秘密鍵skを生成する(ステップS101)。このとき、鍵生成部210は、生体情報Xを用いることなく、公開鍵pkおよび秘密鍵skを生成する。また、鍵生成部210は、生成した公開鍵pkおよび秘密鍵skを鍵記憶部220に記憶させる。
次に、鍵送信部230は、ステップS101で生成された公開鍵pkを、クライアント100に送信する。そして、クライアント100の鍵受信部110は、その公開鍵pkをサーバ200から受信する。鍵受信部110は、その公開鍵pkを鍵記憶部120に記憶させる(ステップS102)。
その後、被登録者の生体情報Xが登録情報入力部130に入力される(ステップS103)。そして、秘匿化部140は、鍵記憶部120に記憶されている公開鍵pkによって生体情報Xを暗号化することによってテンプレート(Enc(X))を生成し、そのテンプレートを秘匿化情報記憶部150に記憶させる(ステップS104)。
なお、図2を参照して説明した上記の処理経過は、繰り返し実行されてもよい。また、予めテンプレートを記憶させる際の処理経過は、図2に示す例に限定されない。例えば、ステップS101の前にステップS103が実行されてもよい。
図3は、認証時の処理経過の例を示すフローチャートである。なお、既に説明した事項については、詳細な説明を省略する。
まず、情報生成部170は、乱数生成部160で生成された乱数とテンプレートとを基に、鍵記憶部120に記憶されている公開鍵pkを用いて生成元情報を生成する(ステップS201)。次いで、情報生成部170は、生成された生成元情報をサーバ200に送信する。
チャレンジ生成部250は、送信された生成元情報を受信する。次いで、チャレンジ生成部250は、乱数生成部240で生成された乱数と受信された生成元情報とを基に、鍵記憶部220に記憶されている秘密鍵skまたは公開鍵pkを用いてチャレンジを生成する(ステップS202)。次いで、チャレンジ生成部250は、生成されたチャレンジをクライアント100に送信する。
次に、被認証者の生体情報Yが照合情報入力部180に入力される(ステップS203)。
次に、レスポンス算出部190は、乱数生成部160で生成された乱数と、ステップS203で入力された生体情報Yと、受信されたチャレンジとを基に、生体情報Xと生体情報Yとの近さを示す指標を含むレスポンスを公開鍵pkを用いて算出する(ステップS204)。
次に、レスポンス算出部190は、ステップS204で算出されたレスポンスをサーバ200に送信する。そして、サーバ200の判定部270は、クライアント100から送信されたレスポンスを受信する。
次に、判定部270は、受信されたレスポンスが送信されたチャレンジに対応するレスポンスであるか否かを、秘密鍵skを用いて判定する(ステップS205)。
受信されたレスポンスが送信されたチャレンジに対応する場合、判定部270は、レスポンスに含まれる指標が、予め定められた受理範囲内の値であるか否かを判定することによって、生体情報Xと生体情報Yとが合致するか否かを判定する(ステップS206)。なお、受信されたレスポンスが送信されたチャレンジに対応しない場合、判定部270は、ステップS206の処理を行わなくてもよい。
レスポンスに含まれる指標が受理範囲内の値である場合、判定部270は、生体情報Xと生体情報Yとが合致するとして「認証成功」を示す認証結果情報を生成する。また、受信されたレスポンスが送信されたチャレンジに対応しない場合、またはレスポンスに含まれる指標が受理範囲内の値でない場合、判定部270は、生体情報Xと生体情報Yとが合致しないとして「認証失敗」を示す認証結果情報を生成する(ステップS207)。
次に、判定部270は、生成された認証結果情報をクライアント100に送信する。そして、クライアント100の出力部191は、サーバ200から送信された認証結果情報を受信する。次に、出力部191は、受信された認証結果情報を出力する(ステップS208)。
なお、認証結果情報は、直接サーバ200から出力されてもよい。また、図3を参照して説明した上記の処理経過は、繰り返し実行されてもよい。
以下、本実施形態の認証フェーズの各具体例について説明する。以下の説明では、生体情報Xおよび生体情報Yは、いずれもn次元のベクトルであるものとする。すなわち、{ui}はn次元ベクトル(u1,u2,・・・,un)を表すとして、X=(x1,・・・,xn)={xi}、Y=(y1,・・・,yn)={yi}とそれぞれ表される。
また、以下の具体例では、平文mを公開鍵pkで暗号化することによって得られる暗号文を、Enc(pk,m)と記す。また、Enc(pk,m)をさらに別の記号(例えば、c)で表す場合には、Enc(pk,m)→cと記す。また、以下の説明では、x,y,zは平文とする。
<具体例1>
本具体例では、秘匿化部140は、加法準同型性を有する暗号方式によって、被登録者の生体情報Xを暗号化する場合を例にして説明する。すなわち、本例において、公開鍵pkは、加法準同型性を有する公開鍵暗号方式における公開鍵である。なお、使用される暗号方式は、加法準同型性を有する暗号方式であればどのような方式でもよい。
本具体例では、秘匿化部140は、加法準同型性を有する暗号方式によって、被登録者の生体情報Xを暗号化する場合を例にして説明する。すなわち、本例において、公開鍵pkは、加法準同型性を有する公開鍵暗号方式における公開鍵である。なお、使用される暗号方式は、加法準同型性を有する暗号方式であればどのような方式でもよい。
以下、加法準同型性を有する暗号方式の性質について説明する。加法準同型性を有する暗号方式では、公開鍵pkによるxの暗号文c1(すなわち、Enc(pk,x)→c1)と、公開鍵pkによるyの暗号文c2(すなわち、Enc(pk,y)→c2)とから、x+yの暗号文Enc(pk,x+y)を計算可能である。以下、この演算を、
で表す。すなわち、以下に示す式(1)が成り立つ。
また、上記の演算を繰り返すことで、公開鍵pkによるxの暗号文c1(すなわち、Enc(pk,x)→c1)と、zから、x・zの暗号文(すなわち、Enc(pk,x・z))を計算可能であることが分かる。以下、この演算を、
で表す。すなわち、以下に示す式(2)が成り立つ。
本具体例では、秘匿化情報記憶部150は、加法準同型性を有する公開鍵暗号方式における公開鍵pkによって、被登録者の生体情報Xを暗号化することで得られたEnc(X)を、テンプレートとして記憶する。なお、公開鍵pkおよび秘密鍵skの生成からテンプレートの記憶までの登録処理は、図2に示すフローチャートに従って行われる。
以下、加法準同型性を有する暗号方式が使用される場合の具体的な認証処理を、図4を参照して説明する。図4は、照合システム10における具体的な認証処理の例を示す説明図である。なお、図4に示すS201等の各ステップ番号は、図3に示す各ステップ番号にそれぞれ対応している。
最初に、乱数生成部160は、乱数{ki}を生成する(ステップS201)。乱数生成部160は、生成された乱数{ki}を情報生成部170に入力する。
次いで、情報生成部170は、乱数{ki}を公開鍵pkで暗号化することによって{Enc(ki)}を得る。次いで、情報生成部170は、テンプレート{Enc(xi)}と{Enc(ki)}とから、準同型性を利用して{Enc(xi+ki)}を計算する(ステップS201)。なお、テンプレートを乱数でマスク(隠蔽)する理由は、サーバ200に生体情報Xが取得されないようにするためである。
次いで、情報生成部170は、計算された{Enc(xi+ki)}を、生成元情報としてサーバ200に送信する。チャレンジ生成部250は、送信された{Enc(xi+ki)}を受信する。
次いで、乱数生成部240は、乱数{k’i}と乱数k’をそれぞれ生成する。乱数生成部240は、生成された乱数{k’i}と乱数k’をチャレンジ生成部250に入力する。
次いで、チャレンジ生成部250は、受信された{Enc(xi+ki)}を秘密鍵skで復号することによって、{xi+ki}を得る。復号した後、チャレンジ生成部250は、入力された乱数を用いて、{(xi+ki+k’i)k’}を計算する(ステップS202)。
次いで、チャレンジ生成部250は、計算された{(xi+ki+k’i)k’}と{k’i}をそれぞれ公開鍵pkで暗号化することによって、{Enc((xi+ki+k’i)k’)}と{Enc(k’i)}を得る(ステップS202)。
次いで、チャレンジ生成部250は、得られた{Enc((xi+ki+k’i)k’)}と{Enc(k’i)}をチャレンジとしてクライアント100に送信する。レスポンス算出部190は、送信されたチャレンジを受信する。
次いで、被認証者の生体情報Y={yi}が照合情報入力部180に入力される(ステップS203)。
次いで、レスポンス算出部190は、チャレンジに含まれる{Enc((xi+ki+k’i)k’)}と生体情報{yi}とから、準同型性を利用して{Enc((xi+ki+k’i)k’・yi)}を計算する。また、レスポンス算出部190は、ステップS201で使用された{Enc(ki)}と、チャレンジに含まれる{Enc(k’i)}と、生体情報{yi}とから、準同型性を利用して{Enc((ki+k’i)・yi)}を計算する(ステップS204)。
次いで、レスポンス算出部190は、{Enc((xi+ki+k’i)k’・yi)}を基に、準同型性を利用してEnc(Σn
i=1((xi+ki+k’i)k’・yi))を計算する。また、レスポンス算出部190は、{Enc((ki+k’i)・yi)}を基に、準同型性を利用してEnc(Σn
i=1((ki+k’i)・yi))を計算する。
次いで、レスポンス算出部190は、計算されたEnc(Σn
i=1((xi+ki+k’i)k’・yi))とEnc(Σn
i=1((ki+k’i)・yi))を、算出されたレスポンスとしてサーバ200に送信する。判定部270は、送信されたレスポンスを受信する。
次いで、判定部270は、受信されたレスポンスに含まれるEnc(Σn
i=1((xi+ki+k’i)k’・yi))を秘密鍵skで復号することによって、Σn
i=1((xi+ki+k’i)k’・yi)を得る。また、判定部270は、受信されたレスポンスに含まれるEnc(Σn
i=1((ki+k’i)・yi))を秘密鍵skで復号することによって、Σn
i=1((ki+k’i)・yi)を得る(ステップS205)。各値が秘密鍵skで復号された場合、受信されたレスポンスが秘密鍵skに対応する公開鍵pkで暗号化された暗号文に相当することが分かる。
次いで、判定部270は、ステップS205で得られた各値とステップS202で使用された乱数k’とを用いて、以下の計算を行う。
Σn
i=1((xi+ki+k’i)k’・yi)/k’
-Σn i=1((ki+k’i)・yi)
=Σn i=1(xi・yi) ・・・(3)
-Σn i=1((ki+k’i)・yi)
=Σn i=1(xi・yi) ・・・(3)
従って、受信されたレスポンスが送信されたチャレンジに対応していれば、判定部270は、正しく{xi}と{yi}の内積値を計算できる。判定部270は、式(3)の計算で得られたΣn
i=1(xi・yi)が、受理範囲記憶部260に記憶されている受理範囲内の値であるか否かを判定する(ステップS206)。Σn
i=1(xi・yi)が受理範囲内の値である場合、判定部270は、「認証成功(図4に示すOK)」を示す認証結果情報を生成する。また、Σn
i=1(xi・yi)が受理範囲内の値でない場合、判定部270は、「認証失敗(図4に示すNG)」を示す認証結果情報を生成する(ステップS207)。
次いで、判定部270は、生成された認証結果情報をクライアント100に送信する。次いで、出力部191は、送信された認証結果情報を受信する。出力部191は、受信された認証結果情報を出力する(ステップS208)。なお、認証結果情報は、直接サーバ200から出力されてもよい。
<具体例2>
本具体例では、加法準同型性を有する公開鍵暗号方式の例として、加法準同型ElGamal暗号が用いられている。以下では、位数qであるような群Gを考える。群Gの生成元をgとする。
本具体例では、加法準同型性を有する公開鍵暗号方式の例として、加法準同型ElGamal暗号が用いられている。以下では、位数qであるような群Gを考える。群Gの生成元をgとする。
加法準同型ElGamal暗号では、秘密鍵skと公開鍵pk=gskとの組が生成される。なお、sk∈Zqである(Zは整数全体の集合を表す記号)。Zqは、{1,・・・,q-1}の集合である。群G、位数q、および生成元gは、クライアント100とサーバ200との間で共有されている。
加法準同型ElGamal暗号では、公開鍵pkによるxの暗号文c(すなわち、Enc(pk,x)→c)は、c=(gr,gx・gr・sk)と表記される。なお、x∈Zqの整数、r∈Zqの乱数である。また、本具体例における暗号文cは、ベクトルである。
本具体例では、秘匿化情報記憶部150は、加法準同型ElGamal暗号における公開鍵pkによって、被登録者の生体情報Xを暗号化することで得られた{ci}を、テンプレートとして記憶する。なお、公開鍵pkおよび秘密鍵skの生成からテンプレートの記憶までの登録処理は、図2に示すフローチャートに従って行われる。
以下、加法準同型ElGamal暗号が使用される場合の具体的な認証処理を、図5を参照して説明する。図5は、照合システム10における具体的な認証処理の他の例を示す説明図である。なお、図5に示すS201等の各ステップ番号は、図3に示す各ステップ番号にそれぞれ対応している。
最初に、乱数生成部160は、ki∈Zq(i=1,2,・・・,n)をランダムに生成する(ステップS201)。乱数生成部160は、生成された乱数{ki}を情報生成部170に入力する。
次いで、情報生成部170は、テンプレート{ci}と乱数{ki}とから、{Ai}={gxi・gri・sk・gki}を計算する(ステップS201)。なお、テンプレートを乱数でマスク(隠蔽)する理由は、サーバ200に生体情報Xが取得される可能性を低減するためである。
次いで、情報生成部170は、計算された{Ai}を、生成元情報としてサーバ200に送信する。チャレンジ生成部250は、送信された{Ai}を受信する。
次いで、乱数生成部240は、k’∈Zqとk’i∈Zq(i=1,2,・・・,n)をそれぞれランダムに生成する(ステップS202)。乱数生成部240は、生成された乱数k’と乱数{k’i}をチャレンジ生成部250に入力する。
次いで、チャレンジ生成部250は、受信された{Ai}と入力された乱数とから、{A’i}={(Ai・gk’i)k’}を計算する(ステップS202)。
次いで、チャレンジ生成部250は、得られた{A’i}と{gk’i}をチャレンジとしてクライアント100に送信する。レスポンス算出部190は、送信されたチャレンジを受信する。
次いで、被認証者の生体情報Y={yi}が照合情報入力部180に入力される(ステップS203)。レスポンス算出部190は、レスポンスDを以下のように算出する(ステップS204)。
算出されたレスポンスDは、チャレンジに対する距離を表す。なお、レスポンスDは、ベクトルである。次いで、レスポンス算出部190は、計算されたレスポンスDをサーバ200に送信する。判定部270は、送信されたレスポンスDを受信する。
次いで、判定部270は、秘密鍵skを用いたレスポンスDのチャレンジへの対応の有無の判定を、以下の計算が実行可能か否かを確認することによって行う(ステップS205)。以下の計算では、チャレンジ分のずれが補正されている。
次いで、判定部270は、ステップS205で得られたdが、受理範囲{ga1,・・・,gan}内の値であるか否かを判定する(ステップS206)。なお、{ai}=a1,a2,・・・,anは、受理範囲に含まれる全ての値を表す。{ai}自体は、受理範囲記憶部260に保存されていなくてよい。
dが受理範囲内の値である場合、判定部270は、「認証成功(図5に示すOK)」を示す認証結果情報を生成する。また、dが受理範囲内の値でない場合、判定部270は、「認証失敗(図5に示すNG)」を示す認証結果情報を生成する(ステップS207)。
次いで、判定部270は、生成された認証結果情報をクライアント100に送信する。次いで、出力部191は、送信された認証結果情報を受信する。出力部191は、受信された認証結果情報を出力する(ステップS208)。なお、認証結果情報は、直接サーバ200から出力されてもよい。
本具体例には、クライアント100とサーバ200との間の通信量が削減されるという利点がある。例えば、比較のために具体例1で利用される加法準同型暗号として、加法準同型Elgamal暗号を想定する。
具体例1における生成元情報である{Enc(xi+ki)}は、(gri,gx・gri・sk)}の、2n個の群Gの要素で構成されている。また、具体例2における生成元情報である{Ai}は、{gxi・gri・sk・gki}の、n個の群Gの要素で構成されている。また、各チャレンジを構成する要素の数も同様である。
よって、クライアント100とサーバ200との間の生成元情報およびチャレンジに関する通信量は、具体例1で4n個、具体例2で2n個になる。以上のように、本具体例における通信量の方が、具体例1における通信量より少ない。
[効果の説明]
前述のように、クライアントに保存されるテンプレートは、個人情報保護法による保護対象ではない。しかし、生体情報は、生涯変わることのない個人情報である。
前述のように、クライアントに保存されるテンプレートは、個人情報保護法による保護対象ではない。しかし、生体情報は、生涯変わることのない個人情報である。
また、ある事業者が提供するサービスに使用するための生体情報をテンプレートとしてクライアントのみに保存していたとしても、その生体情報が漏えいした場合、その事業者の責任が追及される可能性がある。
また、クライアントがマルウェアに感染した場合等に、クライアントから生体情報が漏えいする危険がある。しかし、この危険は、サービスプロバイダの努力によって解消しにくい。
FIDOでは、被登録者の生体情報を暗号化した情報がテンプレートとしてクライアントに保存されている。しかし、被認証者の生体情報が入力されると、クライアントは、鍵によってテンプレートを復号する。このとき、テンプレートから復号された生体情報が漏えいする可能性がある。また、テンプレートが復号されていなくても、テンプレートと鍵が一緒に第三者によって盗まれた場合には、第三者は、テンプレートを復号することによって、生体情報を得ることができてしまう。
また、キャッシュカードのICチップは耐タンパ性を有する。しかし、ICチップの外で生体認証を行う場合に、ICチップに保存されている暗号化された生体情報は復号され、ICチップの外に送信されたとすると、復号された生体情報が漏えいする可能性がある。
本実施形態によれば、サーバ200の鍵生成部210は、生体情報Xを用いることなく、公開鍵pkおよび秘密鍵skを生成する。そして、クライアント100の鍵受信部110は、その公開鍵pkをサーバ200から受信し、クライアント100の鍵記憶部120に記憶させる。また、クライアント100に生体情報Xが入力されると、秘匿化部140は、生体情報Xを用いることなく生成された公開鍵pkを用いて、生体情報Xを暗号化することによって、テンプレートを生成し、テンプレートをクライアント100の秘匿化情報記憶部150に記憶させる。従って、本実施形態によれば、テンプレートをクライアント100に保存することができる。そして、そのテンプレートは暗号化されているので、テンプレートから生体情報XやXの一部が漏えいすることを防止できる。さらに、クライアント100から、テンプレートと公開鍵pkが一緒に盗まれたとしても、公開鍵pkではテンプレートに含まれるデータを復号できないので、生体情報Xや、Xの一部が漏えいすることを防止できる。クライアント100側でテンプレートを登録する際にもサーバ200は生体情報Xを受け取らないので、サーバ200から生体情報XやXの一部が漏えいすることを防止できる。
また、認証時には、最初に情報生成部170がチャレンジの生成に用いられる情報である生成元情報を生成する。次いで、チャレンジ生成部250が、生成元情報を基に、チャレンジを生成する。次いで、レスポンス算出部190が、入力された生体情報Yと、受信されたチャレンジとに基づいて、生体情報Xと生体情報Yとの近さを示す指標を含むレスポンスを算出する。
次いで、判定部270は、受信されたレスポンスが送信されたチャレンジに対応するレスポンスであるか否かを、鍵記憶部220に記憶されている秘密鍵skを用いて判定する。受信されたレスポンスが送信されたチャレンジに対応する場合、判定部270は、レスポンスに含まれる指標が受理範囲内の値であるか否かを判定することによって、生体情報Xと生体情報Yとが合致するか否かを判定する。
本実施形態の照合システム10はチャレンジレスポンス方式で認証を行うため、認証ごとにレスポンスの値が変更される。すなわち、攻撃者がレスポンスの値を盗聴したとしても、盗聴された値は次の認証においてもはや使用不能であるため、再送攻撃が防止される。
また、通常のチャレンジレスポンス方式のように、サーバ200からチャレンジが送信される処理が最初の処理である場合、任意の時点のチャレンジとレスポンス、およびなりすましが要求される時点のチャレンジを基に、なりすましが要求される時点のレスポンスが生成される可能性がある。
本実施形態では、攻撃者に知られないように、通常のチャレンジレスポンス方式におけるチャレンジが埋め込まれた生成元情報がチャレンジと呼ばれている。よって、攻撃者は、通常のチャレンジレスポンス方式におけるチャレンジを把握できないので、上記の攻撃を実行できない。従って、本実施形態の照合システム10は、通常のチャレンジレスポンス方式が導入されている照合システムに比べて、なりすましへの耐性が高い。
また、本発明の実施形態およびその具体例において、受理範囲記憶部260に記憶されている受理範囲は、ユーザ毎、クライアント毎に変更されてもよい。また、受理範囲は、外部要因等に応じて変更されてもよい。外部要因の例として、サーバ200が受け付ける認証の頻度、不審なアクセスの頻度、通信ネットワークやCPUの負荷の状態等が挙げられる。受理範囲が変更されると、通信ネットワークやCPUの負荷が低減する可能性がある。
図6は、上記の実施形態やその具体例におけるクライアント100やサーバ200に係るコンピュータの構成例を示す概略ブロック図である。以下、図6を参照して説明するが、クライアント100として用いられるコンピュータと、サーバ200として用いられるコンピュータとは、別々のコンピュータである。
コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、通信インタフェース1005とを備える。
本発明の実施形態やその具体例におけるクライアント100やサーバ200は、コンピュータ1000で実現される。ただし、上記のように、クライアント100として用いられるコンピュータと、サーバ200として用いられるコンピュータとは、別々のコンピュータである。
クライアント100を実現するコンピュータ1000の動作は、クライアント用プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、そのクライアント用プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのクライアント用プログラムに従って、上記の実施形態やその具体例で説明したクライアント100の動作を実行する。
サーバ200を実現するコンピュータ1000の動作は、サーバ用プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、そのサーバ用プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのサーバ用プログラムに従って、上記の実施形態やその具体例で説明したサーバ200の動作を実行する。
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って動作してもよい。
また、クライアント100の各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。この点は、サーバ200に関しても同様である。
次に、本発明の概要を説明する。図7は、本発明による照合システムの概要を示すブロック図である。本発明による照合システム20は、クライアント30(例えば、クライアント100)とサーバ40(例えば、サーバ200)とを備え、チャレンジレスポンス方式が導入された照合システムであって、クライアント30は、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部31(例えば、秘匿化情報記憶部150)と、チャレンジを生成するための情報である生成元情報を秘匿化情報と乱数とを基に公開鍵を用いて生成する情報生成部32(例えば、情報生成部170)と、サーバ40から送信されたチャレンジと、登録情報と照合される照合情報と、乱数とを用いてチャレンジに対応するレスポンスを算出するレスポンス算出部33(例えば、レスポンス算出部190)とを備え、サーバ40は、公開鍵に対応する秘密鍵を記憶する鍵記憶部41(例えば、鍵記憶部220)と、クライアント30から送信された生成元情報を基にチャレンジを生成するチャレンジ生成部42(例えば、チャレンジ生成部250)とを備える。
そのような構成により、照合システムは、認証処理における再送攻撃を防止できる。
また、サーバ40は、クライアント30から送信されたレスポンスがチャレンジに対応するか否かを秘密鍵を用いて判定する判定部(例えば、判定部270)を備えてもよい。また、判定部は、チャレンジに対応するレスポンスに含まれており、登録情報と照合情報との近さを示す指標に基づいて照合情報と登録情報とが合致するか否かを判定してもよい。また、登録情報および照合情報はベクトルでもよい。
そのような構成により、照合システムは、照合情報と登録情報とが合致するか否かを判定できる。
また、クライアント30は、入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部31に記憶させる秘匿化部(例えば、秘匿化部140)を備えてもよい。また、サーバ40は、秘密鍵および公開鍵を生成する鍵生成部(例えば、鍵生成部210)と、公開鍵をクライアント30に送信する鍵送信部(例えば、鍵送信部230)とを備えてもよい。また、秘密鍵および公開鍵は、加法準同型性を有する公開鍵暗号方式における秘密鍵および公開鍵でもよい。また、公開鍵暗号方式は、加法準同型ElGamal暗号でもよい。
そのような構成により、照合システムは、公開鍵暗号方式で登録情報を暗号化できる。
上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
クライアントとサーバとを備え、チャレンジレスポンス方式が導入された照合システムであって、
前記クライアントは、
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成する情報生成部と、
前記サーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出するレスポンス算出部とを備え、
前記サーバは、
前記公開鍵に対応する秘密鍵を記憶する鍵記憶部と、
前記クライアントから送信された生成元情報を基に前記チャレンジを生成するチャレンジ生成部とを備える
ことを特徴とする照合システム。
クライアントとサーバとを備え、チャレンジレスポンス方式が導入された照合システムであって、
前記クライアントは、
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成する情報生成部と、
前記サーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出するレスポンス算出部とを備え、
前記サーバは、
前記公開鍵に対応する秘密鍵を記憶する鍵記憶部と、
前記クライアントから送信された生成元情報を基に前記チャレンジを生成するチャレンジ生成部とを備える
ことを特徴とする照合システム。
(付記2)
サーバは、
クライアントから送信されたレスポンスがチャレンジに対応するか否かを秘密鍵を用いて判定する判定部を備える
付記1記載の照合システム。
サーバは、
クライアントから送信されたレスポンスがチャレンジに対応するか否かを秘密鍵を用いて判定する判定部を備える
付記1記載の照合システム。
(付記3)
判定部は、チャレンジに対応するレスポンスに含まれており、登録情報と照合情報との近さを示す指標に基づいて前記照合情報と前記登録情報とが合致するか否かを判定する
付記2記載の照合システム。
判定部は、チャレンジに対応するレスポンスに含まれており、登録情報と照合情報との近さを示す指標に基づいて前記照合情報と前記登録情報とが合致するか否かを判定する
付記2記載の照合システム。
(付記4)
登録情報および照合情報はベクトルである
付記1から付記3のうちのいずれかに記載の照合システム。
登録情報および照合情報はベクトルである
付記1から付記3のうちのいずれかに記載の照合システム。
(付記5)
クライアントは、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
付記1から付記4のうちのいずれかに記載の照合システム。
クライアントは、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
付記1から付記4のうちのいずれかに記載の照合システム。
(付記6)
サーバは、
秘密鍵および公開鍵を生成する鍵生成部と、
前記公開鍵をクライアントに送信する鍵送信部とを備える
付記1から付記5のうちのいずれかに記載の照合システム。
サーバは、
秘密鍵および公開鍵を生成する鍵生成部と、
前記公開鍵をクライアントに送信する鍵送信部とを備える
付記1から付記5のうちのいずれかに記載の照合システム。
(付記7)
秘密鍵および公開鍵は、加法準同型性を有する公開鍵暗号方式における秘密鍵および公開鍵である
付記1から付記6のうちのいずれかに記載の照合システム。
秘密鍵および公開鍵は、加法準同型性を有する公開鍵暗号方式における秘密鍵および公開鍵である
付記1から付記6のうちのいずれかに記載の照合システム。
(付記8)
公開鍵暗号方式は、加法準同型ElGamal暗号である
付記7記載の照合システム。
公開鍵暗号方式は、加法準同型ElGamal暗号である
付記7記載の照合システム。
(付記9)
チャレンジレスポンス方式が導入されたクライアントであって、
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成する情報生成部と、
前記チャレンジレスポンス方式が導入されたサーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出するレスポンス算出部とを備える
ことを特徴とするクライアント。
チャレンジレスポンス方式が導入されたクライアントであって、
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成する情報生成部と、
前記チャレンジレスポンス方式が導入されたサーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出するレスポンス算出部とを備える
ことを特徴とするクライアント。
(付記10)
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
付記9記載のクライアント。
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
付記9記載のクライアント。
(付記11)
チャレンジレスポンス方式が導入されたサーバであって、
前記チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を記憶する鍵記憶部と、
チャレンジを生成するための情報であって、登録情報が前記公開鍵で秘匿化された秘匿化情報と乱数とを基に前記公開鍵が用いられて生成され前記クライアントから送信された生成元情報を基に前記チャレンジを生成するチャレンジ生成部とを備える
ことを特徴とするサーバ。
チャレンジレスポンス方式が導入されたサーバであって、
前記チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を記憶する鍵記憶部と、
チャレンジを生成するための情報であって、登録情報が前記公開鍵で秘匿化された秘匿化情報と乱数とを基に前記公開鍵が用いられて生成され前記クライアントから送信された生成元情報を基に前記チャレンジを生成するチャレンジ生成部とを備える
ことを特徴とするサーバ。
(付記12)
クライアントから送信されたレスポンスがチャレンジに対応するか否かを秘密鍵を用いて判定する判定部を備える
付記11記載のサーバ。
クライアントから送信されたレスポンスがチャレンジに対応するか否かを秘密鍵を用いて判定する判定部を備える
付記11記載のサーバ。
(付記13)
判定部は、チャレンジに対応するレスポンスに含まれており、登録情報と照合情報との近さを示す指標に基づいて前記照合情報と前記登録情報とが合致するか否かを判定する
付記12記載のサーバ。
判定部は、チャレンジに対応するレスポンスに含まれており、登録情報と照合情報との近さを示す指標に基づいて前記照合情報と前記登録情報とが合致するか否かを判定する
付記12記載のサーバ。
(付記14)
秘密鍵および公開鍵を生成する鍵生成部と、
前記公開鍵をクライアントに送信する鍵送信部とを備える
付記11から付記13のうちのいずれかに記載のサーバ。
秘密鍵および公開鍵を生成する鍵生成部と、
前記公開鍵をクライアントに送信する鍵送信部とを備える
付記11から付記13のうちのいずれかに記載のサーバ。
(付記15)
クライアントとサーバとを備え、チャレンジレスポンス方式が導入された照合システムにおける照合方法であって、
前記クライアントが、
登録情報を公開鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成し、
生成された生成元情報を前記サーバに送信し、
前記サーバが、
前記公開鍵に対応する秘密鍵を鍵記憶部に記憶させ、
前記クライアントから送信された生成元情報を基に前記チャレンジを生成し、
生成された前記チャレンジを前記クライアントに送信し、
前記クライアントが、
前記サーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出する
ことを特徴とする照合方法。
クライアントとサーバとを備え、チャレンジレスポンス方式が導入された照合システムにおける照合方法であって、
前記クライアントが、
登録情報を公開鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成し、
生成された生成元情報を前記サーバに送信し、
前記サーバが、
前記公開鍵に対応する秘密鍵を鍵記憶部に記憶させ、
前記クライアントから送信された生成元情報を基に前記チャレンジを生成し、
生成された前記チャレンジを前記クライアントに送信し、
前記クライアントが、
前記サーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出する
ことを特徴とする照合方法。
(付記16)
チャレンジレスポンス方式が導入されたクライアントにおける照合方法であって、
登録情報を公開鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成し、
前記チャレンジレスポンス方式が導入されたサーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出する
ことを特徴とする照合方法。
チャレンジレスポンス方式が導入されたクライアントにおける照合方法であって、
登録情報を公開鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成し、
前記チャレンジレスポンス方式が導入されたサーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出する
ことを特徴とする照合方法。
(付記17)
チャレンジレスポンス方式が導入されたサーバにおける照合方法であって、
前記チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を鍵記憶部に記憶させ、
チャレンジを生成するための情報であって、登録情報が前記公開鍵で秘匿化された秘匿化情報と乱数とを基に前記公開鍵が用いられて生成され前記クライアントから送信された生成元情報を基に前記チャレンジを生成する
ことを特徴とする照合方法。
チャレンジレスポンス方式が導入されたサーバにおける照合方法であって、
前記チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を鍵記憶部に記憶させ、
チャレンジを生成するための情報であって、登録情報が前記公開鍵で秘匿化された秘匿化情報と乱数とを基に前記公開鍵が用いられて生成され前記クライアントから送信された生成元情報を基に前記チャレンジを生成する
ことを特徴とする照合方法。
(付記18)
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備え、チャレンジレスポンス方式が導入されたクライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、
前記コンピュータに、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成する生成処理、および
前記チャレンジレスポンス方式が導入されたサーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出する算出処理
を実行させるためのクライアント用プログラム。
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備え、チャレンジレスポンス方式が導入されたクライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、
前記コンピュータに、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成する生成処理、および
前記チャレンジレスポンス方式が導入されたサーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出する算出処理
を実行させるためのクライアント用プログラム。
(付記19)
チャレンジレスポンス方式が導入されたサーバとして動作し、前記チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を記憶する鍵記憶部を備えるコンピュータに搭載されるサーバ用プログラムであって、
前記コンピュータに、
チャレンジを生成するための情報であって、登録情報が前記公開鍵で秘匿化された秘匿化情報と乱数とを基に前記公開鍵が用いられて生成され前記クライアントから送信された生成元情報を基に前記チャレンジを生成する生成処理
を実行させるためのサーバ用プログラム。
チャレンジレスポンス方式が導入されたサーバとして動作し、前記チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を記憶する鍵記憶部を備えるコンピュータに搭載されるサーバ用プログラムであって、
前記コンピュータに、
チャレンジを生成するための情報であって、登録情報が前記公開鍵で秘匿化された秘匿化情報と乱数とを基に前記公開鍵が用いられて生成され前記クライアントから送信された生成元情報を基に前記チャレンジを生成する生成処理
を実行させるためのサーバ用プログラム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
本発明は、クライアントとサーバとを用いて認証を行う照合システムに好適に適用される。
10、20 照合システム
30、100 クライアント
40、200 サーバ
31、150 秘匿化情報記憶部
32、170 情報生成部
33、190 レスポンス算出部
41、120、220 鍵記憶部
42、250 チャレンジ生成部
110 鍵受信部
130 登録情報入力部
140 秘匿化部
160、240 乱数生成部
180 照合情報入力部
191 出力部
210 鍵生成部
230 鍵送信部
260 受理範囲記憶部
270 判定部
30、100 クライアント
40、200 サーバ
31、150 秘匿化情報記憶部
32、170 情報生成部
33、190 レスポンス算出部
41、120、220 鍵記憶部
42、250 チャレンジ生成部
110 鍵受信部
130 登録情報入力部
140 秘匿化部
160、240 乱数生成部
180 照合情報入力部
191 出力部
210 鍵生成部
230 鍵送信部
260 受理範囲記憶部
270 判定部
Claims (19)
- クライアントとサーバとを備え、チャレンジレスポンス方式が導入された照合システムであって、
前記クライアントは、
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成する情報生成部と、
前記サーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出するレスポンス算出部とを備え、
前記サーバは、
前記公開鍵に対応する秘密鍵を記憶する鍵記憶部と、
前記クライアントから送信された生成元情報を基に前記チャレンジを生成するチャレンジ生成部とを備える
ことを特徴とする照合システム。 - サーバは、
クライアントから送信されたレスポンスがチャレンジに対応するか否かを秘密鍵を用いて判定する判定部を備える
請求項1記載の照合システム。 - 判定部は、チャレンジに対応するレスポンスに含まれており、登録情報と照合情報との近さを示す指標に基づいて前記照合情報と前記登録情報とが合致するか否かを判定する
請求項2記載の照合システム。 - 登録情報および照合情報はベクトルである
請求項1から請求項3のうちのいずれか1項に記載の照合システム。 - クライアントは、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
請求項1から請求項4のうちのいずれか1項に記載の照合システム。 - サーバは、
秘密鍵および公開鍵を生成する鍵生成部と、
前記公開鍵をクライアントに送信する鍵送信部とを備える
請求項1から請求項5のうちのいずれか1項に記載の照合システム。 - 秘密鍵および公開鍵は、加法準同型性を有する公開鍵暗号方式における秘密鍵および公開鍵である
請求項1から請求項6のうちのいずれか1項に記載の照合システム。 - 公開鍵暗号方式は、加法準同型ElGamal暗号である
請求項7記載の照合システム。 - チャレンジレスポンス方式が導入されたクライアントであって、
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成する情報生成部と、
前記チャレンジレスポンス方式が導入されたサーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出するレスポンス算出部とを備える
ことを特徴とするクライアント。 - 入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
請求項9記載のクライアント。 - チャレンジレスポンス方式が導入されたサーバであって、
前記チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を記憶する鍵記憶部と、
チャレンジを生成するための情報であって、登録情報が前記公開鍵で秘匿化された秘匿化情報と乱数とを基に前記公開鍵が用いられて生成され前記クライアントから送信された生成元情報を基に前記チャレンジを生成するチャレンジ生成部とを備える
ことを特徴とするサーバ。 - クライアントから送信されたレスポンスがチャレンジに対応するか否かを秘密鍵を用いて判定する判定部を備える
請求項11記載のサーバ。 - 判定部は、チャレンジに対応するレスポンスに含まれており、登録情報と照合情報との近さを示す指標に基づいて前記照合情報と前記登録情報とが合致するか否かを判定する
請求項12記載のサーバ。 - 秘密鍵および公開鍵を生成する鍵生成部と、
前記公開鍵をクライアントに送信する鍵送信部とを備える
請求項11から請求項13のうちのいずれか1項に記載のサーバ。 - クライアントとサーバとを備え、チャレンジレスポンス方式が導入された照合システムにおける照合方法であって、
前記クライアントが、
登録情報を公開鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成し、
生成された生成元情報を前記サーバに送信し、
前記サーバが、
前記公開鍵に対応する秘密鍵を鍵記憶部に記憶させ、
前記クライアントから送信された生成元情報を基に前記チャレンジを生成し、
生成された前記チャレンジを前記クライアントに送信し、
前記クライアントが、
前記サーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出する
ことを特徴とする照合方法。 - チャレンジレスポンス方式が導入されたクライアントにおける照合方法であって、
登録情報を公開鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成し、
前記チャレンジレスポンス方式が導入されたサーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出する
ことを特徴とする照合方法。 - チャレンジレスポンス方式が導入されたサーバにおける照合方法であって、
前記チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を鍵記憶部に記憶させ、
チャレンジを生成するための情報であって、登録情報が前記公開鍵で秘匿化された秘匿化情報と乱数とを基に前記公開鍵が用いられて生成され前記クライアントから送信された生成元情報を基に前記チャレンジを生成する
ことを特徴とする照合方法。 - 登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備え、チャレンジレスポンス方式が導入されたクライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、
前記コンピュータに、
チャレンジを生成するための情報である生成元情報を前記秘匿化情報と乱数とを基に前記公開鍵を用いて生成する生成処理、および
前記チャレンジレスポンス方式が導入されたサーバから送信された前記チャレンジと、前記登録情報と照合される照合情報と、前記乱数とを用いて前記チャレンジに対応するレスポンスを算出する算出処理
を実行させるためのクライアント用プログラム。 - チャレンジレスポンス方式が導入されたサーバとして動作し、前記チャレンジレスポンス方式が導入されたクライアントが保有する公開鍵に対応する秘密鍵を記憶する鍵記憶部を備えるコンピュータに搭載されるサーバ用プログラムであって、
前記コンピュータに、
チャレンジを生成するための情報であって、登録情報が前記公開鍵で秘匿化された秘匿化情報と乱数とを基に前記公開鍵が用いられて生成され前記クライアントから送信された生成元情報を基に前記チャレンジを生成する生成処理
を実行させるためのサーバ用プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020559625A JP7259868B2 (ja) | 2018-12-12 | 2018-12-12 | システムおよびクライアント |
US17/311,745 US20220029812A1 (en) | 2018-12-12 | 2018-12-12 | Collation system, client and server |
PCT/JP2018/045778 WO2020121460A1 (ja) | 2018-12-12 | 2018-12-12 | 照合システム、クライアントおよびサーバ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/045778 WO2020121460A1 (ja) | 2018-12-12 | 2018-12-12 | 照合システム、クライアントおよびサーバ |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020121460A1 true WO2020121460A1 (ja) | 2020-06-18 |
Family
ID=71076368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/045778 WO2020121460A1 (ja) | 2018-12-12 | 2018-12-12 | 照合システム、クライアントおよびサーバ |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220029812A1 (ja) |
JP (1) | JP7259868B2 (ja) |
WO (1) | WO2020121460A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10270748B2 (en) | 2013-03-22 | 2019-04-23 | Nok Nok Labs, Inc. | Advanced authentication techniques and applications |
US11868995B2 (en) | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
US11831409B2 (en) | 2018-01-12 | 2023-11-28 | Nok Nok Labs, Inc. | System and method for binding verifiable claims |
US12041039B2 (en) | 2019-02-28 | 2024-07-16 | Nok Nok Labs, Inc. | System and method for endorsing a new authenticator |
US11792024B2 (en) * | 2019-03-29 | 2023-10-17 | Nok Nok Labs, Inc. | System and method for efficient challenge-response authentication |
CN115913580B (zh) * | 2023-02-21 | 2023-07-25 | 杭州天谷信息科技有限公司 | 一种基于同态加密的生物认证方法和系统 |
CN115834088A (zh) * | 2023-02-21 | 2023-03-21 | 杭州天谷信息科技有限公司 | 一种生物特征认证方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013084034A (ja) * | 2011-10-06 | 2013-05-09 | Hitachi Ltd | テンプレート配信型キャンセラブル生体認証システムおよびその方法 |
JP2016167037A (ja) * | 2015-03-10 | 2016-09-15 | 富士通株式会社 | 暗号処理装置、暗号処理方法、および暗号処理プログラム |
US9935953B1 (en) * | 2012-11-06 | 2018-04-03 | Behaviometrics Ab | Secure authenticating an user of a device during a session with a connected server |
WO2018110608A1 (ja) * | 2016-12-15 | 2018-06-21 | 日本電気株式会社 | 照合システム、方法、装置及びプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078873B2 (en) * | 2008-06-30 | 2011-12-13 | Intel Corporation | Two-way authentication between two communication endpoints using a one-way out-of-band (OOB) channel |
JP2016012111A (ja) * | 2014-06-30 | 2016-01-21 | 富士通株式会社 | 暗号処理方法、暗号処理装置、および暗号処理プログラム |
-
2018
- 2018-12-12 US US17/311,745 patent/US20220029812A1/en not_active Abandoned
- 2018-12-12 WO PCT/JP2018/045778 patent/WO2020121460A1/ja active Application Filing
- 2018-12-12 JP JP2020559625A patent/JP7259868B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013084034A (ja) * | 2011-10-06 | 2013-05-09 | Hitachi Ltd | テンプレート配信型キャンセラブル生体認証システムおよびその方法 |
US9935953B1 (en) * | 2012-11-06 | 2018-04-03 | Behaviometrics Ab | Secure authenticating an user of a device during a session with a connected server |
JP2016167037A (ja) * | 2015-03-10 | 2016-09-15 | 富士通株式会社 | 暗号処理装置、暗号処理方法、および暗号処理プログラム |
WO2018110608A1 (ja) * | 2016-12-15 | 2018-06-21 | 日本電気株式会社 | 照合システム、方法、装置及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20220029812A1 (en) | 2022-01-27 |
JP7259868B2 (ja) | 2023-04-18 |
JPWO2020121460A1 (ja) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7302606B2 (ja) | システムおよびサーバ | |
WO2020121460A1 (ja) | 照合システム、クライアントおよびサーバ | |
US10797879B2 (en) | Methods and systems to facilitate authentication of a user | |
CN107925581B (zh) | 生物体认证系统以及认证服务器 | |
US11063941B2 (en) | Authentication system, authentication method, and program | |
US7711152B1 (en) | System and method for authenticated and privacy preserving biometric identification systems | |
EP1815637B1 (en) | Securely computing a similarity measure | |
WO2018110608A1 (ja) | 照合システム、方法、装置及びプログラム | |
JP6384314B2 (ja) | 情報処理方法、情報処理プログラムおよび情報処理装置 | |
JP7231023B2 (ja) | 照合システム、クライアントおよびサーバ | |
Kim et al. | Cryptanalysis and improvement of a biometrics-based multi-server authentication with key agreement scheme | |
JP7250960B2 (ja) | ユーザのバイオメトリクスを利用したユーザ認証および署名装置、並びにその方法 | |
WO2020121458A1 (ja) | 照合システム、クライアントおよびサーバ | |
CN1973306A (zh) | 可更新的个人生物测定学 | |
JP2008538146A (ja) | バイオメトリック・テンプレートのプライバシー保護のためのアーキテクチャ | |
Giri et al. | A novel and efficient session spanning biometric and password based three-factor authentication protocol for consumer usb mass storage devices | |
JP7294431B2 (ja) | 情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム | |
Sarkar et al. | A novel session key generation and secure communication establishment protocol using fingerprint biometrics | |
JP7632477B2 (ja) | 回復用検証システム、照合システム、回復用検証方法およびプログラム | |
Abdulmalik et al. | Secure two-factor mutual authentication scheme using shared image in medical healthcare environment | |
JP7235055B2 (ja) | 認証システム、クライアントおよびサーバ | |
TWI381696B (zh) | 基於利用個人化秘密的rsa非對稱式密碼學之使用者認證 | |
Odelu et al. | Cryptanalysis onRobust Biometrics-Based Authentication Scheme for Multi-server Environment' | |
Tan et al. | On the realization of fuzzy identity‐based identification scheme using fingerprint biometrics |
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: 18942927 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020559625 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18942927 Country of ref document: EP Kind code of ref document: A1 |