WO2021053749A1 - 情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム - Google Patents

情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム Download PDF

Info

Publication number
WO2021053749A1
WO2021053749A1 PCT/JP2019/036523 JP2019036523W WO2021053749A1 WO 2021053749 A1 WO2021053749 A1 WO 2021053749A1 JP 2019036523 W JP2019036523 W JP 2019036523W WO 2021053749 A1 WO2021053749 A1 WO 2021053749A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
commitment
registration
authentication
input data
Prior art date
Application number
PCT/JP2019/036523
Other languages
English (en)
French (fr)
Inventor
寿幸 一色
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2019/036523 priority Critical patent/WO2021053749A1/ja
Priority to JP2021546103A priority patent/JP7294431B2/ja
Priority to US17/640,583 priority patent/US20220321348A1/en
Publication of WO2021053749A1 publication Critical patent/WO2021053749A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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/3231Biological data, e.g. fingerprint, voice or retina

Definitions

  • the present invention relates to an information collation system, a client terminal, a server, an information collation method, and an information collation program.
  • Personal authentication is a means of confirming the identity of the registered person and the authenticated person. Authentication is performed by comparing the information about the registered person stored in advance with the information about the person to be authenticated that is acquired each time the authentication is performed.
  • Biometrics which is a method of personal authentication, authenticates using physical features such as the face, fingerprints, and iris. More specifically, data called a feature amount is extracted from a living body and used for authentication. The feature amount extracted from the living body is slightly different each time it is extracted. Therefore, at the time of authentication, the feature amount extracted from the registered person is compared with the feature amount extracted from the authenticated person, and if it is recognized that they are sufficiently similar, the authentication is successful.
  • the method of determining the similarity depends on the feature extraction method, but in the general method, the feature is expressed in the form of a vector, and the similarity is the inner product (normalized correlation) of the two features, the Euclidean distance, and so on. It is calculated based on the Hamming distance, etc., and when the degree of similarity is included in a predetermined range, it is determined that the similarity is sufficient.
  • biometric authentication Compared to authentication by memorizing passwords and authentication by possession of IC cards, etc., it is more convenient that the user does not need to actively prepare for memory and possession to enter authentication information, and authentication information is given to others.
  • the advantage of biometric authentication is that it is difficult to use and has high safety.
  • biometric authentication has become a means of personal authentication in recent years. The use is progressing.
  • Patent Document 1 discloses, in a biometric authentication system or the like, a conversion parameter proof function that proves to an authentication server that oneself knows the correct conversion parameter without giving knowledge about the conversion parameter. Further, Patent Document 1 discloses that such a proof can be realized by using a zero-knowledge proof or the like (see, for example, paragraph [0042] and paragraph [0051]).
  • Taher ElGamal "A public key cryptosystem and a signature scheme based on discrete logarithms.” IEEE transactions on information theory 31.4 (1985): 469-472.
  • the input data is concealed by encryption, so an attack using data that is not generated from the living body is assumed.
  • a cryptosystem such as the additive homomorphic public key cryptosystem
  • data that is authenticated by inputting data that is not generated from the living body, data that can be determined to be certified (authenticated data) can be generated, and information on registered biological features can be generated. Attacks that attempt to acquire or leak data are also envisioned.
  • the data space refers to, for example, the range and properties of values that can be taken by the data (value) constituting the data to be registered or the data to be authenticated, such as biometric information.
  • An object of the present invention is an information collation system, a client terminal, which is safe against attacks using registered data or authentication data generated from data in a data space different from a predetermined data space in information collation.
  • the purpose is to provide a server, an information collation method, and an information collation program.
  • one of the objects of the present invention is to provide a safe method against an attack using data not generated from a living body in collation of information using biological information.
  • the information collation system of the present invention generates a first commitment of the first input data for registration and a first proof data indicating that the first input data is contained in a predetermined input data space.
  • a registered data generator an authentication data storage device that stores a part or all of the first commitment and the first certification data, a registered data verification device that verifies the first commitment and the first certification data, and a first commitment.
  • a registration data storage device that stores part or all of the first certification data as registration data, a second commitment of the second input data to be authenticated, and a second input data in the predetermined input data space described above.
  • An authentication data generator that generates the second proof data indicating that the data is included in the data and that the similarity between the second input data and the registered data of the registered data storage device is included in the predetermined acceptance range.
  • an authentication data verification device that verifies the second commitment and the second certification data.
  • the client terminal of the present invention is registered data including a first commitment of the first input data for registration and a first proof data indicating that the first input data is included in a predetermined input data space.
  • a registration data generation unit that generates data, a data storage unit for authentication that stores a part or all of the first commitment and the first certification data, a second commitment of the second input data for authentication, and a second input.
  • Authentication that generates second proof data indicating that the data is contained in a predetermined input data space and that the similarity between the second input data and the registered data is within a predetermined acceptance range. It is equipped with a data generation unit.
  • the server of the present invention inputs the first commitment of the first input data for registration and the first proof data indicating that the first input data is included in the predetermined input data space, and the first 1
  • the registration data verification unit that verifies the commitment and the first certification data, the second commitment of the second input data to be authenticated, and the second input data are included in the predetermined input data space.
  • the second proof data indicating that the similarity between the second input data and the registered data in the registered data storage unit is included in the predetermined acceptance range, and verify the second commitment and the second proof data. It has at least one of the authentication data verification unit to perform.
  • the information collation method of the present invention generates a first commitment of the first input data for registration and a first proof data indicating that the first input data is contained in a predetermined input data space.
  • Registration data generation processing authentication data storage processing that stores a part or all of the first commitment and the first certification data, registration data verification processing that verifies the first commitment and the first certification data, and the first commitment
  • the registration data storage process that stores part or all of the first certification data as registration data, the second commitment of the second input data to be authenticated, and the second input data is the predetermined input data space described above.
  • Authentication data generation process that generates the second proof data indicating that the data is included in the data and that the similarity between the second input data and the registered data in the registered data storage unit is included in the predetermined acceptance range.
  • the authentication data verification process that verifies the second commitment and the second certification data.
  • the information collation program of the present invention generates a first commitment of the first input data for registration and a first proof data indicating that the first input data is contained in a predetermined input data space.
  • Registration data generation processing authentication data storage processing that stores a part or all of the first commitment and the first certification data, registration data verification processing that verifies the first commitment and the first certification data, and the first commitment
  • the registration data storage process that stores part or all of the first certification data as registration data, the second commitment of the second input data to be authenticated, and the second input data is the predetermined input data space described above.
  • Authentication data generation process that generates the second proof data indicating that the data is included in the data and that the similarity between the second input data and the registered data in the registered data storage unit is included in the predetermined acceptance range.
  • the computer is made to execute the second commitment and the authentication data verification process for verifying the second certification data.
  • an information collation system in information collation, an information collation system, a client terminal, a server, an information collation method, which is safe against attacks in which one data space for registration and authentication and the other data space are different.
  • information collation programs can be provided.
  • in collation of information using biological information it is possible to provide a safe method against an attack using data not generated from the living body.
  • other effects may be produced in place of or in combination with the effect.
  • Personal authentication is a means of confirming the identity of the registered person and the person to be authenticated. Authentication is performed by comparing the information about the registered person stored in advance with the information about the person to be authenticated that is acquired each time the authentication is performed.
  • Biometrics which is a method of personal authentication, authenticates using physical features such as the face, fingerprints, and iris. More specifically, data called a feature amount is extracted from a living body and used for authentication. The feature amount extracted from the living body is slightly different each time it is extracted. Therefore, at the time of authentication, the feature amount extracted from the registered person is compared with the feature amount extracted from the authenticated person, and if it is recognized that they are sufficiently similar, the authentication is successful.
  • the method of determining the similarity depends on the feature extraction method, but in the general method, the feature is expressed in the form of a vector, and the similarity is the inner product (normalized correlation) of the two features, the Euclidean distance, and so on. It is calculated based on the Hamming distance and the like, and when the similarity is included in a predetermined range, it is determined that the similarity is sufficiently similar.
  • biometric authentication Compared to authentication by memorizing passwords and authentication by possession of IC cards, etc., it is more convenient that the user does not need to actively prepare for memory and possession to enter authentication information, and authentication information is given to others.
  • the advantage of biometric authentication is that it is difficult to use and has high safety.
  • biometric authentication has become a means of personal authentication in recent years. The use is progressing.
  • biometric authentication has the disadvantage that biometric information, which is immutable throughout life, cannot be changed even if it is leaked.
  • biometric features are stipulated as personal information in the General Data Protection Regulation of Europe and the Personal Information Protection Law of Japan. There are restrictions on the handling of data that corresponds to personal information, such as storage and external provision. In addition to restrictions imposed by laws and regulations, consideration is often required for social acceptance.
  • the verifier for example, an authentication server
  • the biometric information cannot be restored even if the user's terminal is hijacked by malware or the like.
  • biometric authentication methods that can conceal and store biometric information and judge the authentication result while concealing it are being actively researched.
  • a method using a public key cryptosystem having additive homomorphism is known.
  • the public key cryptosystem is composed of three algorithms: a key generation algorithm (KeyGen), an encryption algorithm (Enc), and a decryption algorithm (Dec).
  • KeyGen generates an encryption key ek and a decryption key dk using parameters called security parameters that represent the strength of the key. This operation can be expressed as the following equation, where the security parameter is ⁇ .
  • KeyGen ( ⁇ ) ⁇ (ek, dk)
  • the encryption algorithm generates the ciphertext c, which is the result of encrypting the plaintext message m with the encryption key ek. This can be expressed as the following equation.
  • Enc (ek, m) ⁇ c The decryption algorithm generates m', which is the result of decrypting the ciphertext c with the decryption key dk. This can be expressed as the following equation. Dec (dk, c) ⁇ m'
  • the ciphertext c which is the result of encrypting an arbitrary message m with the encryption key ek, is decrypted with the decryption key dk for the pair of the arbitrary encryption key ek and the decryption key dk generated by the key generation algorithm.
  • the result m' should be equal to m. That is, for KeyGen ( ⁇ ) ⁇ (ek, dk), Dec (dk, Enc (ek, m)) ⁇ m for any m. Must hold.
  • a public key cryptosystem having homomorphism (hereinafter referred to as homomorphic public key cryptography) has a homomorphic arithmetic algorithm (Hom) in addition to each algorithm of public key cryptography.
  • Hom homomorphic arithmetic algorithm
  • the encryption key ek generates a ciphertext of the operation result of the message corresponding to the plurality of ciphertext c 1, c 2 which is input.
  • a ciphertext of the operation result of the message corresponding to the plurality of ciphertext c 1, c 2 which is input.
  • two messages can be input, it can be expressed as the following equation.
  • ciphertext ciphertext c 1 by the encryption key ek messages m 1 is produced from c is a ciphertext of m 1 + m 2. That is, for any m 1 and m 2 with respect to KeyGen ( ⁇ ) ⁇ (ek, dk). Enc (ek, m 1 ) ⁇ c 1 , Enc (ek, m 2 ) ⁇ c 2 Then Dec (dk, Home (ek, c 1 , c 2 )) ⁇ m 1 + m 2 Is established.
  • Elliptic curve ElGamal encryption and the like are known as public key cryptography having additive homomorphism.
  • Each algorithm of the elliptic curve ElGamal encryption disclosed in Non-Patent Document 1 operates as follows.
  • Authentication acceptance or non-acceptance is determined by decrypting the encryption similarity Enc (ek, sim (x, y)) and obtaining the similarity.
  • the space for input data is predetermined. That is, it is determined that the value of each xi is a predetermined natural number greater than or equal to a and less than or equal to b, and x is an n-dimensional vector.
  • each xi is 0 or 1
  • the number of dimensions n is determined to be 1024, 2048, or the like.
  • the plaintext space of additive homomorphic encryption (the space of messages that can be encrypted) is determined by security parameters and does not necessarily match the space of input data.
  • each xi is 0 or 1
  • the plaintext space of the additive homomorphic encryption used is a set of remainders divided by the 2048-bit prime number q. Is often considered.
  • the information collation system includes the first commitment of the first input data for registration and the first input data in a predetermined input data space.
  • a registration data generator that generates the first certification data indicating that the data is present, an authentication data storage device that stores a part or all of the first commitment and the first certification data, and the first commitment and the first certification data.
  • a registered data verification device for verification a registered data storage device that stores a part or all of the first commitment and the first certification data as registered data, a second commitment of the second input data for authentication, and a second. 2 Indicates that the input data is included in the predetermined input data space and that the similarity between the second input data and the registered data of the registered data storage device is included in the predetermined acceptance range. It includes an authentication data generation device that generates certification data, and an authentication data verification device that verifies the second commitment and the second certification data.
  • This provides a secure system for attacks in which one data space for registration and authentication and the other data space are different in information collation.
  • FIG. 5 is a block diagram showing an example of the information collation system 1 according to the present embodiment. Further, FIG. 1 is a block diagram showing a specific configuration of the information collation system 1 according to the present embodiment.
  • the information collation system 1 includes, for example, a registration data generation device 100, a registration data verification device 200, a registration data storage device 300, an authentication data storage device 400, and an authentication data generation device. It has 500 and an authentication data verification device 600.
  • each of the above devices can be mounted as a separate device, or part or all of the devices can be mounted in the same device.
  • the registration data generation device 100, the authentication data storage device 400, and the authentication data generation device 500 are mounted in the same client terminal, and the registration data verification device 200, the registration data storage device 300, and the authentication data are mounted.
  • the verification device 600 can be implemented separately for each server, which makes it possible to realize a client-server type authentication system.
  • FIG. 6 is a block diagram showing an example of a client terminal in this embodiment.
  • the client terminal 2 has a registration data generation device 100, an authentication data storage device 400, and an authentication data generation device 500.
  • FIG. 7 is a block diagram showing an example of the server in this embodiment.
  • the server 3 has one or both of the registration data verification device 200 and the authentication data verification device 600.
  • the server 3 may include the registered data storage device 300, or may be externally connected to the registered data storage device 300.
  • the registered data generation device 100, the registered data verification device 200, the registered data storage device 300, the authentication data storage device 400, the authentication data generation device 500, and the authentication data verification device 600, which constitute the information collation system 1, are respectively.
  • the registration data generation device 100 has, for example, a commitment generation unit 101, a certification generation unit 102, and an authentication data generation unit 103.
  • the commitment generation unit 101 inputs input data (first input data) and parameters, and generates a commitment (first commitment) based on the input data.
  • the input data is data for registration (registration data), for example, biometric information.
  • the input data here is also referred to as the first input data or the input data x in the present specification.
  • the parameter is, for example, a parameter used when seeking a commitment.
  • the type of parameter to be input can be predetermined.
  • the proof generation unit 102 inputs the input data, the parameters, and the generated commitment, and generates proof data (first proof data) indicating that the input data is included in the predetermined input data space.
  • the parameters here are parameters used when generating proof data by, for example, zero-knowledge proof.
  • the type of parameter to be input can be predetermined.
  • the proof data can be obtained by, for example, zero-knowledge proof, which will be described later.
  • the authentication data generation unit 103 inputs the generated commitment, the generated certification data, and the identifier (ID) of the registration data received from the registration data generation unit of the registration data verification device 200, and the authentication data.
  • the authentication data can include, for example, an identifier (ID) of the registration data, a random number used when generating a commitment (first commitment) of the above-mentioned input data (first input data), and the like.
  • the registration data verification device 200 has, for example, a certification verification unit 201 and a registration data generation unit 202.
  • the certification verification unit 201 inputs the parameters, the commitment received from the registration data generation device 100, and the certification data, and verifies that the input data is included in the input data space.
  • the parameter is, for example, a parameter used when verifying that the input data is included in the input data space.
  • the type of parameter to be input can be predetermined.
  • the registration data generation unit 202 generates an identifier (ID) for the registration data and the registration data based on the parameters, the commitment received from the registration data generation device 100, the proof data, and the verification result.
  • the type of the parameter to be input can be predetermined.
  • the registration data can include a part or all of the commitment (first commitment) of the above-mentioned input data (first input data) and the proof data (first proof data).
  • the registration data storage device 300 inputs an identifier (ID) of registration data and registration data, and stores (associates) them, that is, (ID, registration data).
  • the authentication data storage device 400 receives the authentication data generated by the authentication data generation unit 103 of the registration data generation device 100, and stores the authentication data.
  • the authentication data generation device 500 includes, for example, an authentication request unit 501, a commitment generation unit 502, a certification generation unit 503, and an authentication data generation unit 504.
  • the authentication request unit 501 inputs an identifier (ID) included in the authentication data received (extracted) from the authentication data storage device 400, and generates an authentication request including the identifier (ID).
  • the commitment generation unit 502 inputs the challenge received from the authentication data verification device 600 in response to the authentication request, the parameters, the authentication data, and the input data (second input data), and makes a commitment (second commitment).
  • the input data is data to be authenticated, is data to be collated with the registered data, and is, for example, biometric information.
  • the input data here is also referred to as a second input data or input data y in the present specification.
  • the proof generation unit 503 inputs the input data, the parameters, and the commitment, and the acceptance range in which the input data is included in the input data space and the similarity between the input data and the registered data is predetermined. Generate proof data (second proof data) indicating that it is included in.
  • the authentication data generation unit 504 inputs the commitment and the certification data, and generates the authentication data.
  • the authentication data verification device 600 has, for example, a challenge generation unit 601, a certification verification unit 602, and an authentication result generation unit 603.
  • the challenge generation unit 601 inputs the authentication request received from the authentication data generation device 500. Further, the challenge generation unit 601 receives (extracts) the registration data corresponding to the identifier (ID) of the registration data included in the authentication request from the registration data storage device 300, and generates a challenge from the predetermined parameters and the registration data. To do.
  • the certification verification unit 602 inputs the parameters, the authentication data received from the authentication data generation device 500, and the challenge. In addition, the certification verification unit 602 verifies the certification data included in the certification data and generates a verification result.
  • the authentication result generation unit 603 generates an authentication result based on the verification result.
  • FIG. 2 shows the operation of registering the input data
  • FIG. 3 shows the operation of collating the input data with the registered data.
  • data transmission (transmission) and reception may be directly transmitted and received between the devices, one device stores the data in an appropriate storage unit, and the other device stores the data.
  • Data may be transmitted by an indirect method such as reading.
  • the commitment generation unit 101 of the registration data generation device 100 acquires the above-mentioned input data and parameters (step A1).
  • the parameters are public information including security parameters, acceptance ranges, and possible ranges (spaces) of input data, and the means for generating them is not particularly limited.
  • the registration data verification device 200 or the authentication data verification device 600 may have a parameter generation function, or may be generated outside the information verification system 1.
  • the commitment generation unit 101 inputs the above-mentioned input data and parameters to generate a commitment (step A2).
  • the proof generation unit 102 inputs the above-mentioned input data, parameters, and commitment, generates proof data indicating that the input data is included in a predetermined input data space, and registers the commitment and proof data. It is sent to the data verification device 200 (step A3).
  • the certification verification unit 201 of the registration data verification device 200 receives the commitment and certification data from the registration data generation device (step A3).
  • the certification verification unit 201 verifies the certification data (step A4).
  • the certification verification unit 201 inputs predetermined parameters, commitments, and certification data.
  • the proof verification unit 201 verifies the proof data, and if the verification fails (rejection), the process is stopped.
  • the certification verification unit 201 generates an identifier (ID) of the registration data and sends it to the registration data generation device 100.
  • the identifier (ID) is an identifier unique to the registered data, and the generation means is not limited. For example, it may be a counter value that increases each time an identifier (ID) is generated, or it may be a random number value.
  • the registration data generation unit 202 inputs commitment and certification data and generates registration data (step A5).
  • the registration data generation unit 202 sends the identifier (ID) and the registration data to the registration data storage device 300 (step A6).
  • the registration data storage device 300 that has received the identifier (ID) and the registration data stores a pair of (ID, registration data) (step A7).
  • the authentication data generation unit 103 of the registration data generation device 100 generates authentication data from the identifier (ID), the commitment, and the certification data transmitted from the registration data verification device 200 in step A4 (step A8).
  • the authentication data generation unit 103 sends the authentication data to the authentication data storage device 400 (step A9).
  • the authentication data storage device 400 that has received the authentication data stores the authentication data (step A10).
  • the authentication request unit 501 of the authentication data generation device 500 inputs the input data y and the parameters, and further receives the authentication data from the authentication data storage device 400 (step B1).
  • the authentication request unit 501 generates an authentication request from the input data y, the parameters, and the authentication data, and sends the generated authentication request to the authentication data verification device 600 (step B2).
  • the challenge generation unit 601 of the authentication data verification device 600 receives (extracts) the registration data corresponding to the identifier (ID) included in the authentication request from the registration data storage device 300, and further inputs parameters to generate a challenge. , Send the challenge to the authentication data generator 500 (step B3).
  • the commitment generation unit 502 of the authentication data generation device 500 inputs the challenge, the input data y, the parameters, and the authentication data, and generates a commitment (step B4).
  • the certification generation unit 503 inputs the commitment, the challenge, the input data y, the parameters, and the authentication data, and the input data y is included in the predetermined input data space, and the input data y. And generate proof data indicating that the similarity between the registered data x and the registered data x is included in the acceptance range (step B5).
  • the authentication data generation unit 504 inputs the commitment and the certification data, generates the authentication data, and sends the authentication data to the authentication data verification device 600 (step B6).
  • the certification verification unit 602 of the authentication data verification device 600 inputs authentication data, registration data, a challenge, and parameters, verifies the certification data included in the authentication data, and generates a verification result (step B7).
  • the authentication result generation unit 603 inputs the verification result, generates the authentication result, and outputs the authentication result (step B8).
  • Example 1 Next, the first embodiment of the operation of the information collation system 1 in this embodiment will be described. In this embodiment, a case where a normalized correlation is used as the similarity will be described. It is assumed that the input data satisfies the following conditions.
  • Each xi is an integer greater than or equal to a and less than or equal to b. That is, a ⁇ xi ⁇ b is satisfied.
  • a and b are predetermined values, and may be, for example, an integer.
  • the Fujisaki-Okamoto commitment is used.
  • Commit (Open) is a protocol consisting of a commitment phase and an open phase.
  • the sender uses a value v and a random number r to generate a commitment Com (v, r) and send it to the recipient.
  • the open phase the sender opens the commitment Com (v, r) by sending v and r to the receiver.
  • Confidentiality is the property that information about v cannot be obtained from the commitment Com (v, r).
  • the binding property is a property that Com (v, r) cannot be opened as v' ⁇ v.
  • the Fujisaki-Okamoto commitment is known to be a commitment method that satisfies confidentiality and binding.
  • k, l, t, and s are given as security parameters. At present, for safety reasons, values of k of 1024 or more, l of 80 or more, t of 160 or more, and s of 80 or more are recommended, but other values may be used.
  • g, h, and N are given as parameters.
  • N is the product of k-bit prime numbers p and q.
  • g ⁇ x means g to the xth power
  • mod N means the remainder of N.
  • zero-knowledge proof is to prove to another person (verifier) that a certain proposition is true without leaking any information other than the truth. Refers to the method. In this embodiment, zero-knowledge proof of knowledge, zero-knowledge proof of range, and zero-knowledge proof of square are used.
  • Prove knowledge Let H be a hash function. Let floor (x) be a function that means truncation of x after the decimal point.
  • Prove that E11 and E21 are the squares of x11 and x21, respectively, using the squared zero-knowledge proof.
  • ri may be included in the parameter input in step A1.
  • (1) Perform the following four zero-knowledge proofs.
  • (1) Knowledge proof of xi using Ei, (2) Zero-knowledge proof that a ⁇ xi ⁇ b using Ei, (3) Zero-knowledge proof of the square of xi using Fi.
  • the proof generation unit 102 sends the commitment and the proof data to the registration data verification device 200 (step A3).
  • the certification verification unit 201 of the registration data verification device 200 that has received the commitment and certification data verifies the zero-knowledge proof of (1) to (3) above. If even one verification is not accepted, the verification process is stopped. On the other hand, if all verifications are accepted, the certification verification unit 201 generates an identifier (ID) of the registration data and sends the identifier (ID) to the registration data generation device 100 (step A4).
  • the registration data generation unit 202 uses the commitment ⁇ Ei ⁇ as the registration data (step A5).
  • the registration data generation unit 202 sends a pair (ID, registration data) of the identifier (ID) and the registration data to the registration data storage device 300 (step A6).
  • the registration data storage device 300 stores (ID, registration data) (step A7).
  • the authentication data generation unit 103 of the registration data generation device 100 that received the identifier (ID) in step A4 generates (ID, ⁇ ri ⁇ ) as authentication data (step A8).
  • the authentication data generation unit 103 (sends the authentication data to the authentication data storage device 400 (step A9).
  • the authentication data storage device 400 stores the authentication data (step A10).
  • the login ID, the user's identification number, and the like may be input together with the input data y, and the authentication data stored in association with these may be read out.
  • the authentication request unit 501 sends a request including an identifier (ID) of the registration data to the authentication data verification device 600 as an authentication request (step B2).
  • the challenge generation unit 601 receives (extracts) the registration data (ID, ⁇ Ei ⁇ ) corresponding to the identifier (ID) from the registration data storage device 300, and uses a random value c to ⁇ (Ei) ⁇ c ⁇ . , H ⁇ c as a challenge, and the challenge is sent to the authentication data generator 500 (step B3).
  • Com (yi, Ri) g ⁇ ⁇ yi ⁇ ⁇ h ⁇ ⁇ Ri ⁇ mod N
  • Com ((yi) ⁇ 2, R'i) g ⁇ ⁇ (yi) ⁇ 2 ⁇ ⁇ h ⁇ ⁇ R'i ⁇ mod N
  • Com (xiyi, R "i) ((Ei) ⁇ c) ⁇ ⁇ yi ⁇ ⁇ h ⁇ ⁇ R" i ⁇ mod N is calculated (step B4).
  • the authentication data generation unit 504 sends the commitment and the proofs (1) to (5) as proof data to the authentication data verification device 600 (step B6).
  • the proof verification unit 602 verifies the proofs of (1) to (5), accepts the verification result if all are accepted, and rejects the verification result otherwise (step B7).
  • the authentication result generation unit 603 accepts the authentication result if the verification result is accepted, and rejects the authentication result otherwise (step B8).
  • xi (or yi) is a ⁇ xi ⁇ b for all the dimensions of x and y, but a part (for example, half) thereof is proved. You may prove it. There is no limit to how to choose the dimension to prove. For example, the registration data verification device 200 or the authentication data verification device 600 may randomly select the dimension to be certified.
  • each zero-knowledge proof is performed independently, but the well-known efficiency improvement may be performed when executing in parallel.
  • the hash function is calculated in each zero-knowledge proof, but it may be calculated at one time.
  • the knowledge about xi or yi is proved in each zero-knowledge proof, but it may be put together at once.
  • the registration data generation device 100 and the authentication data generation device 500 calculate c using a hash function, which is generated by the registration data verification device 200 and the authentication data verification device 600. It may be replaced with a random value c.
  • the formula to be confirmed at the time of verification is different from that for confirming the matching of the calculation results related to c, instead of confirming the matching of the hash values.
  • Each xi is an integer greater than or equal to a and less than or equal to b. That is, a ⁇ xi ⁇ b is satisfied.
  • the proof generation unit 102 sends the commitment and the proof data to the registration data verification device 200 (step A3).
  • the certification verification unit 201 of the registration data verification device 200 that has received the commitment and certification data verifies the zero-knowledge proof of (1) to (3) above.
  • the certification verification unit 201 stops the verification process if even one verification is not accepted. On the other hand, if all verifications are accepted, the certification verification unit 201 generates an identifier (ID) of the registration data and sends the identifier (ID) to the registration data generation device 100 (step A4).
  • ID identifier
  • the registration data generation unit 202 sends a pair (ID, registration data) of the identifier (ID) and the registration data to the registration data storage device 300 (step A6).
  • the registration data storage device 300 stores (ID, registration data) (step A7).
  • the authentication data generation unit 103 sends the authentication data to the authentication data storage device 400 (step A9).
  • the authentication data storage device 400 stores the authentication data (step A10).
  • the login ID, the user's identification number, and the like may be input together with the input data y, and the authentication data stored in association with these may be read out.
  • the authentication request unit 501 sends a request including an identifier (ID) of the registration data to the authentication data verification device 600 as an authentication request (step B2).
  • the challenge generation unit 601 receives (extracts) the registration data (ID, ⁇ Ei ⁇ , F) corresponding to the identifier (ID) from the registration data storage device 300, and uses a random value c to ⁇ (Ei) ⁇ . Let c ⁇ and h ⁇ c be the challenge, and send the challenge to the authentication data generator 500 (step B3).
  • Com (y, Ri) g ⁇ ⁇ yi ⁇ ⁇ h ⁇ ⁇ Ri ⁇ mod N
  • Com ((yi) ⁇ 2, R'i) g ⁇ ⁇ (yi) ⁇ 2 ⁇ ⁇ h ⁇ ⁇ R'i ⁇ mod N
  • Com (xiyi, R "i) ((Ei) ⁇ c) ⁇ ⁇ yi ⁇ ⁇ h ⁇ ⁇ R" i ⁇ mod N is calculated (step B4).
  • the authentication data generation unit 504 sends the commitment and the proofs (1) to (4) as proof data to the authentication data verification device 600 (step B6).
  • the proof verification unit 602 verifies the proofs of (1) to (4), accepts the verification result if all are accepted, and rejects the verification result otherwise (step B7).
  • the authentication result generation unit 603 accepts the authentication result if the verification result is accepted, and rejects the authentication result otherwise (step B8).
  • xi (or yi) is a ⁇ xi ⁇ b for all the dimensions of x and y, but a part (for example, half) is proved. May be. It doesn't matter how you choose the dimension to prove.
  • the registration data verification device 200 or the authentication data verification device 600 may randomly select the dimension to be certified.
  • each zero-knowledge proof is performed independently, but the well-known efficiency improvement may be performed when executing in parallel.
  • the hash function is calculated in each zero-knowledge proof, but it may be calculated at one time.
  • the knowledge about xi or yi is proved in each zero-knowledge proof, but it may be put together at once.
  • the registration data generation device 100 and the authentication data generation device 500 calculate c using a hash function, which is generated by the registration data verification device 200 and the authentication data verification device 600. It may be replaced with a random value c.
  • the formula to be confirmed at the time of verification is different from that for confirming the matching of the calculation results related to c, instead of confirming the matching of the hash values.
  • effect One of the effects in the above-described embodiment is that it is impossible to generate registration data or authentication data by using data not generated from a living body as input data. Further, this makes it possible to realize a more secure information collation system 1. Further, for example, in steps A2 and A3, it can be verified by using zero-knowledge proof that the input data is in a predetermined input data space.
  • the registration data is the commitment and identifier (ID) of the Fujisaki-Okamoto commitment.
  • Fujisaki-Okamoto commitments are known to satisfy information-theoretic confidentiality, and it has been mathematically shown that biofeature commitments are indistinguishable from random numbers. Therefore, even if the commitment is leaked, the biological features will not be leaked.
  • the authentication data is a random number and an identifier ID used at the time of commitment generation. Obviously, no information about biological features is leaked from the authentication data.
  • FIG. 4 is a block diagram showing a hardware configuration of the device.
  • the device 10 includes, for example, an input unit 11, an output unit 12, a storage unit 13, and a processing unit 14.
  • the input unit 11 inputs data, information, signals, and the like.
  • the input unit 11 may be, for example, an interface for receiving data or the like from another device, an operation unit for receiving input from a user, a reading device for reading biological information, or the like.
  • the output unit 12 outputs data, information, signals, and the like.
  • the output unit 12 may be, for example, an interface for transmitting data or the like to another device, a display unit for displaying a screen, or the like.
  • the storage unit 13 temporarily or permanently stores programs and parameters for the operation of the device 10 and various data.
  • the processing unit 14 is composed of, for example, one or more processors such as a CPU (Central Processing Unit).
  • the processing unit 14 may execute, for example, a program stored in the storage unit 13 to operate each of the above-mentioned devices.
  • the program may be a program for causing the processor to execute the operation of each of the above-mentioned devices.
  • a registration data generator that generates a first commitment of the first input data for registration and a first proof data indicating that the first input data is contained in a predetermined input data space.
  • An authentication data storage device that stores a part or all of the first commitment and the first certification data
  • a registration data verification device that verifies the first commitment and the first certification data
  • a registration data storage device that stores a part or all of the first commitment and the first certification data as registration data
  • An authentication data generator that generates second proof data indicating that the similarity of the data is within a predetermined acceptance range
  • An information verification system including the second commitment and an authentication data verification device that verifies the second certification data.
  • Appendix 2 The information collation system described in Appendix 1 An information collation system characterized in that a part or all of the first proof data generated by the registered data generator is data based on zero-knowledge proof.
  • Appendix 3 The information collation system described in Appendix 1 or 2.
  • Appendix 5 The information collation system according to any one of Appendix 1 to 4.
  • An information collation system characterized in that the authentication data stored in the authentication data storage device includes a random number used when generating the first commitment of the first input data.
  • Appendix 6 The information collation system according to any one of Appendix 1 to 5.
  • a part or all of the first commitment generated by the registered data generator is g ⁇ x ⁇ h ⁇ r mod N with respect to the parameters g, h, N, the first input data x, and the random number r.
  • An information collation system characterized by the fact that.
  • (Appendix 8) Generate registration data including the first commitment of the first input data for registration and the first proof data indicating that the first input data is included in a predetermined input data space.
  • Registration data generator and An authentication data storage unit that stores a part or all of the first commitment and the first certification data, The second commitment of the second input data to be authenticated, that the second input data is included in the predetermined input data space, and the similarity between the second input data and the registered data are predetermined.
  • a client terminal provided with an authentication data generation unit that generates a second certification data indicating that the data is included in a defined acceptance range.
  • a registration data generation process that generates a first commitment of the first input data for registration and a first proof data indicating that the first input data is contained in a predetermined input data space.
  • the first commitment and the data storage process for authentication that stores a part or all of the first certification data
  • Registration data verification processing that verifies the first commitment and the first certification data
  • Registration data storage processing that stores a part or all of the first commitment and the first certification data as registration data
  • the second commitment of the second input data to be authenticated, that the second input data is included in the predetermined input data space, and that the second input data and the registration data of the registration data storage unit are included.
  • Authentication data generation process that generates the second certification data indicating that the similarity of is included in the predetermined acceptance range
  • An information collation method including the second commitment and an authentication data verification process for verifying the second certification data.
  • a registration data generation process that generates a first commitment of the first input data for registration and a first proof data indicating that the first input data is contained in a predetermined input data space.
  • the first commitment and the data storage process for authentication that stores a part or all of the first certification data
  • Registration data verification processing that verifies the first commitment and the first certification data
  • Registration data storage processing that stores a part or all of the first commitment and the first certification data as registration data
  • the second commitment of the second input data to be authenticated, that the second input data is included in the predetermined input data space, and that the second input data and the registration data of the registration data storage unit are included.
  • Authentication data generation process that generates the second certification data indicating that the similarity of is included in the predetermined acceptance range
  • An information verification program that causes a computer to execute the second commitment and the authentication data verification process that verifies the second certification data.
  • the biometric information acquired by a sensor such as a camera and the biometric information of one or more persons stored in a database are safely kept secret from each other by the technology of each embodiment. It is possible to collate with. This is effective when the sensor administrator (organization) and the database administrator (organization) are different.
  • each embodiment can be used, for example, when performing biometric authentication on a remote server using a smartphone or the like.
  • Authentication data is registered in the smartphone held by the user, and registration data is registered in the server.
  • Biometric information is collected by the smartphone when performing authentication, and authentication data is generated using the stored authentication data. This allows the server to authenticate the user.
  • Examples of the use of remote biometric authentication using smartphones include online shopping and the use of membership services.
  • the server can perform user authentication using the biometric authentication function of the smartphone without obtaining information other than whether or not the user's biometric information is the same biometric information. Therefore, the risk of leakage of user information from the server can be reduced.
  • Registered data generator (Registered data generator) 200 Registered data verification device (Registered data verification unit) 300 Registered data storage device (Registered data storage unit) 400 Authentication data storage device (authentication data storage unit) 500 Authentication data generator (Authentication data generator) 600 Authentication data verification device (Authentication data verification unit)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

情報の照合において、登録及び認証のためのデータの一方のデータ空間と、他方のデータ空間が異なる攻撃に対しても安全なシステム等を提供する。本システムは、登録のための第1入力データの第1コミットメントと、第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成装置(100)と、第1コミットメントと第1証明データの検証を行う登録データ検証装置(200)と、認証されるための第2入力データの第2コミットメントと、第2入力データが予め定められた入力データ空間に含まれていること及び第2入力データと登録データ記憶装置(300)の登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成装置(500)と、第2コミットメントと第2証明データの検証を行う認証データ検証装置(600)とを備える。

Description

情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム
 本発明は、情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラムに関する。
 個人認証は、被登録者と被認証者の同一性を確認する手段である。事前に保存される被登録者に関する情報と、認証の都度取得される被認証者に関する情報を突き合わせることによって認証が実施される。
 個人認証の一手法である生体認証では顔や指紋や虹彩などの身体的特徴などを利用して認証を行う。より具体的には、生体から特徴量と呼ばれるデータを抽出して認証に用いる。生体から抽出される特徴量は抽出の都度少しずつ異なる。そのため、認証時には、被登録者から抽出された特徴量と、被認証者から抽出された特徴量とを比較し、それらが十分に類似していると認められれば認証成功となる。類似度の判定方法は特徴量抽出の手法に依存するが、一般的な手法では、特徴量はベクトルの形で表され、類似度は2つの特徴量の内積(正規化相関)、ユークリッド距離、ハミング距離等によって算出され、類似度が予め定められた範囲に含まれる場合に十分に類似していると判定する。
 パスワード等の記憶による認証やICカード等の所持による認証と比べ、認証情報を入力するために記憶や所持などのユーザの能動的な準備が不要である利便性の高さや、認証情報を他人に使用されにくい安全性の高さなどが生体認証のメリットである。特徴量抽出法などの技術の進展や生体情報を採取できるセンサ機能(例えばカメラなど)を搭載した機器(例えばスマートフォン、タブレット端末など)の普及に伴い、近年、個人認証の手段として、生体認証の利用が進んでいる。
 また、生体認証技術においてゼロ知識証明を用いた例が知られている。例えば、特許文献1では、生体認証システム等において、認証サーバに対し、自分が正しい変換パラメータを知っていることを、変換パラメータに関する知識を与えずに証明する変換パラメータ証明機能が開示されている。また、特許文献1では、このような証明を、ゼロ知識証明などを用いて実現可能なことが開示されている(例えば、段落[0042]及び段落[0051]参照)。
特開2008-092413号公報
Taher ElGamal. "A public key cryptosystem and a signature scheme based on discrete logarithms." IEEE transactions on information theory 31.4 (1985): 469-472.
 加法準同型公開鍵暗号方式などの暗号方式を利用した情報照合システムでは、入力データを暗号化により秘匿しているため、生体から生成されていないデータを用いた攻撃が想定される。このような生体から生成されていないデータから生成した登録データ又は認証データを用いた攻撃に対して安全な方式が要望される。
 例えば、生体から生成されていないデータを入力として、登録するためのデータを生成することや、認証を受けるためのデータを生成することも可能である。上述の加法準同型公開鍵暗号方式を利用した情報照合システム生体では、入力データを暗号化により秘匿してことから、上述の攻撃の例として、生体から生成されていないデータを用いて登録データを生成することにより、多くの生体特徴量と一致して認証受理と判定されうる登録データを生成すること、及び、認証時に利用された生体特徴量に関する情報を取得又は漏洩させるよう試みることなどの攻撃も想定される。また、生体から生成されていないデータを入力として認証を受けるデータを生成することにより、認証受理と判定され得るデータ(認証されるデータ)を生成することや、登録されている生体特徴量に関する情報を取得又は漏洩させるよう試みる攻撃も想定される。
 また、このような課題は、生体情報に限らず、予め定められたデータ空間とは別のデータ空間のデータから生成した登録データ又は認証データを用いた攻撃に対しても同様なことが言える。ここで、データ空間とは、例えば、生体情報など、登録するデータ又は認証されるデータを構成するデータ(値)がとり得る値の範囲、性質などをいう。
 本発明の目的は、情報の照合において、予め定められたデータ空間とは別のデータ空間のデータから生成した登録データ又は認証データを用いた攻撃に対しても安全な情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラムを提供することにある。一例として、本発明の目的のひとつは、生体情報を利用した情報の照合において、生体から生成されていないデータを用いた攻撃に対して安全な方式を提供することにある。
 本発明の情報照合システムは、登録のための第1入力データの第1コミットメントと、第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成装置と、第1コミットメントと第1証明データの一部又は全部を記憶する認証用データ記憶装置と、第1コミットメントと第1証明データの検証を行う登録データ検証装置と、第1コミットメントと第1証明データの一部又は全部を登録データとして記憶する登録データ記憶装置と、認証されるための第2入力データの第2コミットメントと、第2入力データが上記予め定められた入力データ空間に含まれていること及び第2入力データと上記登録データ記憶装置の登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成装置と、第2コミットメントと第2証明データの検証を行う認証データ検証装置と備える。
 本発明のクライアント端末は、登録のための第1入力データの第1コミットメントと、第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを含む登録データを生成する登録データ生成部と、第1コミットメントと第1証明データの一部又は全部を記憶する認証用データ記憶部と、認証されるための第2入力データの第2コミットメントと、第2入力データが予め定められた入力データ空間に含まれていること及び第2入力データと登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成部とを備える。
 本発明のサーバは、登録のための第1入力データの第1コミットメントと、第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを入力し、第1コミットメントと第1証明データの検証を行う登録データ検証部と、認証されるための第2入力データの第2コミットメントと、第2入力データが予め定められた入力データ空間に含まれていること及び第2入力データと登録データ記憶部の登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データと入力し、第2コミットメントと第2証明データの検証を行う認証データ検証部との少なくとも一方を備える。
 本発明の情報照合方法は、登録のための第1入力データの第1コミットメントと、第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成処理と、第1コミットメントと第1証明データの一部又は全部を記憶する認証用データ記憶処理と、第1コミットメントと第1証明データの検証を行う登録データ検証処理と、第1コミットメントと第1証明データの一部又は全部を登録データとして記憶する登録データ記憶処理と、認証されるための第2入力データの第2コミットメントと、第2入力データが上記予め定められた入力データ空間に含まれていること及び第2入力データと上記登録データ記憶部の登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成処理と、第2コミットメントと第2証明データの検証を行う認証データ検証処理とを含む。
 本発明の情報照合プログラムは、登録のための第1入力データの第1コミットメントと、第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成処理と、第1コミットメントと第1証明データの一部又は全部を記憶する認証用データ記憶処理と、第1コミットメントと第1証明データの検証を行う登録データ検証処理と、第1コミットメントと第1証明データの一部又は全部を登録データとして記憶する登録データ記憶処理と、認証されるための第2入力データの第2コミットメントと、第2入力データが上記予め定められた入力データ空間に含まれていること及び第2入力データと上記登録データ記憶部の登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成処理と、第2コミットメントと第2証明データの検証を行う認証データ検証処理とをコンピュータに実行させる。
 本発明によると、情報の照合において、登録及び認証のためのデータの一方のデータ空間と、他方のデータ空間が異なる攻撃に対しても安全な情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラムを提供することができる。一例として、本発明によると、生体情報を利用した情報の照合において、生体から生成されていないデータを用いた攻撃に対して安全な方式を提供することが可能である。なお、本発明により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。
本発明の実施形態に係る情報照合システムの具体的な構成を示すブロック図である。 本実施形態における登録処理のフローチャートである。 本実施形態における照合処理のフローチャートである。 本実施形態における装置のハードウェア構成を示すブロック図である。 本実施形態における情報照合システムの一例を示すブロック図である。 本実施形態におけるクライアント端末の一例を示すブロック図である。 本実施形態におけるサーバの一例を示すブロック図である。
 以下、添付の図面を参照して本発明の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
 説明は、以下の順序で行われる。
 1.関連技術
 2.本発明の実施形態の概要
 3.実施形態
  3.1.システムの構成
  3.2.登録及び照合の動作
  3.3.実施例1
  3.4.実施例2
 4.その他
<<1.関連技術>>
 個人認証は、被登録者と被認証者の同一性を確認する手段である。事前に保存される被登録者に関する情報と、認証の都度取得される被認証者に関する情報を突き合わせることによって認証が実施される。
 個人認証の一手法である生体認証では顔や指紋や虹彩などの身体的特徴などを利用して認証を行う。より具体的には、生体から特徴量と呼ばれるデータを抽出して認証に用いる。生体から抽出される特徴量は抽出の都度少しずつ異なる。そのため、認証時には、被登録者から抽出された特徴量と、被認証者から抽出された特徴量とを比較し、それらが十分に類似していると認められれば認証成功となる。類似度の判定方法は特徴量抽出の手法に依存するが、一般的な手法では、特徴量はベクトルの形で表され、類似度は2つの特徴量の内積(正規化相関)、ユークリッド距離、ハミング距離等によって算出され、類似度が予め定められた範囲に含まれる場合に十分に類似していると判定する。
 パスワード等の記憶による認証やICカード等の所持による認証と比べ、認証情報を入力するために記憶や所持などのユーザの能動的な準備が不要である利便性の高さや、認証情報を他人に使用されにくい安全性の高さなどが生体認証のメリットである。特徴量抽出法などの技術の進展や生体情報を採取できるセンサ機能(例えばカメラなど)を搭載した機器(例えばスマートフォン、タブレット端末など)の普及に伴い、近年、個人認証の手段として、生体認証の利用が進んでいる。
 一方で、生体認証には、生涯不変である生体情報はもし漏洩したとしても変更できないというデメリットもある。また、生体特徴量は、欧州の一般データ保護規則や日本の個人情報保護法において、個人情報に該当すると定められている。個人情報に該当するデータは、保管や外部提供等の取扱いに制限がある。また、法令等による制限だけでなく、社会的に受容されるための配慮も求められることが多い。一般に、個人情報保護の観点から、検証者(例えば認証サーバなど)側がユーザの生体情報に関する情報を保持しない生体認証方式が望ましい。その上で、ユーザが持つ端末(例えばスマートフォンなど)への攻撃も考慮し、ユーザの保持する端末がマルウェア等に乗っ取られた場合であっても生体情報が復元できない方式が望ましい。
 そこで、生体情報を秘匿して保存し、秘匿したまま認証結果を判定できる生体認証手法が盛んに研究されている。秘匿したままの判定を実現する手段として、加法準同型性を有する公開鍵暗号方式を利用する手法が知られている。
 公開鍵暗号方式は、鍵生成アルゴリズム(KeyGen)、暗号化アルゴリズム(Enc)、及び復号アルゴリズム(Dec)の3つのアルゴリズムで構成される。鍵生成アルゴリズムは、セキュリティパラメータと呼ばれる鍵の強度を表すパラメータを用いて、暗号化鍵ek及び復号鍵dkを生成する。この動作は、セキュリティパラメータをκとすると、次式のように表すことができる。
  KeyGen(κ)→(ek,dk)
 暗号化アルゴリズムは、暗号化鍵ekにより平文のメッセージmを暗号化した結果である暗号文cを生成する。これは次式のように表すことができる。
  Enc(ek,m)→c
 復号アルゴリズムは、復号鍵dkにより暗号文cを復号した結果であるm'を生成する。これは次式のように表すことができる。
  Dec(dk,c)→m'
 公開鍵暗号方式は正しく暗号文を復号できる必要がある。すなわち、鍵生成アルゴリズムで生成された任意の暗号化鍵ek及び復号鍵dkのペアに対し、任意のメッセージmを暗号化鍵ekで暗号化した結果である暗号文cを復号鍵dkによって復号した結果m'はmと等しくなる必要がある。すなわち、KeyGen(κ)→(ek,dk)に対し、任意のmについて
  Dec(dk,Enc(ek,m))→m
が成り立つ必要がある。
 公開鍵暗号方式では、暗号化鍵を持っていれば誰でも暗号化アルゴリズムを実行可能であるが、復号鍵なしでは復号アルゴリズムは実行できない。
 準同型性を有する公開鍵暗号方式(以下では、準同型公開鍵暗号と呼ぶ)は、公開鍵暗号の各アルゴリズムに加え、準同型演算アルゴリズム(Hom)を有する。
 準同型演算アルゴリズムは、暗号化鍵ekにより、入力された複数の暗号文c、cに対応するメッセージの演算結果の暗号文を生成する。入力できるメッセージが2つである場合、次式のように表すことができる。
  Hom(ek,c,c)→c
 例えば、加法準同型性を有する公開鍵暗号の場合、メッセージmの暗号化鍵ekによる暗号文cと、メッセージmの暗号化鍵ekによる暗号文cと、から生成される暗号文cはm+mの暗号文である。すなわち、KeyGen(κ)→(ek,dk)に対し、任意のmとmについて、
  Enc(ek,m)→c,Enc(ek,m)→c
とすると、
  Dec(dk,Hom(ek,c,c))→m+m
が成り立つ。
 加法準同型性を有する公開鍵暗号として、楕円曲線Elgamal暗号などが知られている。非特許文献1に開示されている楕円曲線Elgamal暗号の各アルゴリズムは次のように動作する。
 鍵生成アルゴリズムは、まず、セキュリティパラメータκを入力として受け取る。次に、κビットの素数qをランダムに選び、楕円曲線E上の位数がqである群の生成元Gを選ぶ。次に、1以上q未満の整数xを一様ランダムに選択し、H=[x]Gとする。最後に、暗号化鍵ek=(κ,q,E,G,H)及び復号鍵dk=(ek,x)を出力する。
 暗号化アルゴリズムは、まず、暗号化鍵ek=(κ,q,G,g,H)及びメッセージmを入力として受け取る。次に、1以上q未満の整数rを一様ランダムに選択し、C:=[r]G、C:=[m]G+[r]Hとする。最後に、暗号文c=(C,C)を出力する。
 復号アルゴリズムは、まず、復号鍵dk=(ek,x)及び暗号文c=(C,C)を入力として受け取る。次に、M'=C-[x]Cを計算する。最後に、復号結果m'=Dlog(M')を出力する。ただし、Dlogは、Dlog([x]G)=xとなる関数である。
 メッセージmの暗号文c=(C,C)=([r]G,[m]G+[r]H)に対し、楕円Elgamal暗号の復号アルゴリズムにより、暗号文cをmに正しく復号できることを、次式によって確認できる。
  M'=C-[x]・C=([m]G+[r]H)-[x]・([r]G)=[m]G+[r]([x]・G)-[x]・([r]G)=[m]G
 準同型演算アルゴリズムは、まず、暗号化鍵ek=(κ,q,G,g,h)及び第一の暗号文c=(C1,a,C1,b)及び第二の暗号文c=(C2,a,C2,b)を入力として受け取る。次に、C=C1,a+C2,a,C=C1,b+C2,bを計算する。最後に、準同型演算結果c=(C,C)を出力する。
 メッセージmの暗号文(C1,a=[r]G,C1,b=[m]G+[r]H)及びメッセージmの暗号文(C2,a=[s]G,C2,b=[m]G+[s]H)に対し、次の2式が成り立つ。
  C=[r+s]・G
  C=[m+m]G+[r+s]H
したがって、cはm+mの暗号文であり、楕円曲線Elgamal暗号は加法準同型性を有する。
 加法準同型暗号を利用した情報照合システムの概要を以下に説明する。
 情報照合システムでは、入力データはn次元自然数ベクトルとする(nは自然数)。つまり、入力データをx=(x1,x2,・・・,xn)とする。また、入力データxと入力データyの類似度をsim(x,y)と表す。一般的に、sim(x,y)は、両データx、yの二乗ユークリッド距離、ハミング距離、正規化相関などが用いられる。これらは加法準同型性を用いて、暗号化したまま計算できることが知られている。
 (登録段階)
 入力データx=(x1,x2,・・・,xn)の各xi(i=1~n)を加法準同型暗号で暗号化する。すなわち,{Enc(ek,xi)}を生成し、記憶しておく。
 (認証段階)
 入力データy=(y1,y2,…,yn)の各yi(i=1~n)と、準同型演算Homを用いて、xとyの暗号化類似度Enc(ek,sim(x,y))を計算する。
 暗号化類似度Enc(ek,sim(x,y))を復号し、類似度を得ることで、認証受理又は不受理の判定を行う。
 ここで、入力データとして生体特徴量を想定すると、多くの生体認証方式では、入力データの空間が予め定められている。すなわち、各xiの値は、予め定められたa以上b以下の自然数であり、xはn次元ベクトルであることが決められている。例えば、類似度をハミング距離とする生体認証方式では、各xiは0又は1であり、次元数nは1024、2048などと決められている。
 一方で、加法準同型暗号の平文空間(暗号化できるメッセージの空間)は、セキュリティパラメータにより決められるものであって、入力データの空間と必ずしも一致しない。例えば、類似度をハミング距離とする情報照合システム(例えば生体認証など)では、各xiは0又は1であるが、用いる加法準同型暗号の平文空間は2048ビットの素数qで割った余りの集合であることがしばしば考えられる。
 入力データの空間と、暗号方式の平文空間が一致しないことを利用した攻撃に対しても安全なシステムが要望されている。一般に、このような攻撃が行われていることを検知することは困難である。
 前述の例では、類似度としてハミング距離を用いた情報照合システムの場合で説明したが、他の類似度メトリック(例えば、二乗ユークリッド距離や正規化相関など)を用いた場合でも、同様の攻撃が可能であることが知られている。また、前述の例では、加法準同型暗号を用いた場合で説明したが、他の準同型暗号(乗法、Somewhat、完全)や線形マスクを用いた場合でも、同様の攻撃に対して安全であることが望ましい。
 <<2.本発明の実施形態の概要>>
 まず、本発明の実施形態の概要を説明する。
 (1)技術的課題
 情報の照合において、登録及び認証のためのデータの一方のデータ空間と、他方のデータ空間が異なる攻撃に対しても安全なシステム等が望ましい。
 (2)技術的特徴
 本発明の実施形態において、例えば、情報照合システムは、登録のための第1入力データの第1コミットメントと、第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成装置と、第1コミットメントと第1証明データの一部又は全部を記憶する認証用データ記憶装置と、第1コミットメントと第1証明データの検証を行う登録データ検証装置と、第1コミットメントと第1証明データの一部又は全部を登録データとして記憶する登録データ記憶装置と、認証されるための第2入力データの第2コミットメントと、第2入力データが予め定められた入力データ空間に含まれていること及び第2入力データと登録データ記憶装置の登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成装置と、第2コミットメントと第2証明データの検証を行う認証データ検証装置とを備える。
 これにより、情報の照合において、登録及び認証のためのデータの一方のデータ空間と、他方のデータ空間が異なる攻撃に対しても安全なシステムが提供される。
 なお、上述した技術的特徴は本発明の実施形態の具体的な一例であり、当然ながら、本発明の実施形態は上述した技術的特徴に限定されない。
 本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。
 <<3.実施形態>>
 <3.1.システムの構成>
 図5は、本実施形態に係る情報照合システム1の一例を示すブロック図である。また、図1は、本実施形態に係る情報照合システム1の具体的な構成を示すブロック図である。
 例えば、図5に示すように、情報照合システム1は、例えば、登録データ生成装置100と、登録データ検証装置200と、登録データ記憶装置300と、認証用データ記憶装置400と、認証データ生成装置500と、認証データ検証装置600を有する。ただし、上記各装置は、別々の装置として実装することも可能であり、一部又は全てを同一の装置内に実装することも可能である。
 また、例えば、登録データ生成装置100と、認証用データ記憶装置400と、認証データ生成装置500は同一のクライアント端末内に実装し、登録データ検証装置200と、登録データ記憶装置300と、認証データ検証装置600は各サーバに分けて実装することもでき、これにより、クライアント・サーバ型の認証システムを実現することが可能である。
 図6は、本実施形態におけるクライアント端末の一例を示すブロック図である。具体例として図6に示すように、クライアント端末2は、登録データ生成装置100と、認証用データ記憶装置400と、認証データ生成装置500とを有する。
 図7は、本実施形態におけるサーバの一例を示すブロック図である。図7に示すように、サーバ3は、登録データ検証装置200と認証データ検証装置600のうち、いずれか一方又は両方の装置を有する。なお、サーバ3は、登録データ記憶装置300を含んでもよいし、登録データ記憶装置300と外部接続されていてもよい。
 なお、情報照合システム1を構成する登録データ生成装置100、登録データ検証装置200、登録データ記憶装置300、認証用データ記憶装置400、認証データ生成装置500、及び、認証データ検証装置600は、それぞれ、登録データ生成部、登録データ検証部、登録データ記憶部、認証用データ記憶部、認証データ生成部、及び、認証データ検証部と称されてもよく、ひとつ又は複数のノード(装置)が、上述の各部のひとつ又は複数を有してもよい。
 登録データ生成装置100は、例えば、コミットメント生成部101と、証明生成部102と、認証用データ生成部103とを有する。コミットメント生成部101は、入力データ(第1入力データ)と、パラメータとを入力し、入力データに基づくコミットメント(第1コミットメント)を生成する。ここで、入力データは、登録するためのデータ(登録データ)であり、例えば生体情報である。ここでの入力データは、本明細書において、第1入力データ又は入力データxとも称される。パラメータは、例えばコミットメントを求める際に用いるパラメータである。入力されるパラメータの種類は予め定められることができる。証明生成部102は、入力データと、パラメータと、生成されたコミットメントとを入力し、入力データが予め定められた入力データ空間に含まれていることを示す証明データ(第1証明データ)を生成する。ここでのパラメータは、例えばゼロ知識証明により証明データを生成する際に用いるパラメータである。入力されるパラメータの種類は予め定められることができる。証明データは、例えば後述するゼロ知識証明による求めることができる。認証用データ生成部103は、生成されたコミットメントと、生成された証明データと、登録データ検証装置200の登録データ生成部から受信した、登録データの識別子(ID)とを入力し、認証用データを生成する。認証用データは、例えば、登録データの識別子(ID)と、上述の入力データ(第1入力データ)のコミットメント(第1コミットメント)を生成する際に用いた乱数等を含むことができる。
 登録データ検証装置200は、例えば、証明検証部201と、登録データ生成部202とを有する。証明検証部201は、パラメータと、登録データ生成装置100から受信したコミットメントと、証明データとを入力し、入力データが入力データ空間に含まれていることを検証する。ここで、パラメータは、例えば、入力データが入力データ空間に含まれていることを検証する際に用いるパラメータである。入力されるパラメータの種類は予め定められることができる。登録データ生成部202は、パラメータと、登録データ生成装置100から受信したコミットメントと、証明データと、検証の結果に基づいて、登録データに対する識別子(ID)と、登録データとを生成する。ここで、入力されるパラメータの種類は予め定められることができる。例えば、登録データとして登録するパラメータでもよい。ここで、登録データは、上述の入力データ(第1入力データ)のコミットメント(第1コミットメント)と証明データ(第1証明データ)の一部又は全部を含むことができる。
 登録データ記憶装置300は、登録データの識別子(ID)と、登録データとを入力し、それらを対にして(関連づけて)、すなわち(ID、登録データ)を記憶する。
 認証用データ記憶装置400は、登録データ生成装置100の認証用データ生成部103が生成した認証用データを受信し、認証用データを記憶する。
 認証データ生成装置500は、例えば、認証要求部501と、コミットメント生成部502と、証明生成部503と、認証データ生成部504とを有する。認証要求部501は、認証用データ記憶装置400から受信(抽出)した認証用データに含まれる識別子(ID)を入力し、識別子(ID)を含む認証要求を生成する。コミットメント生成部502は、認証要求に対して認証データ検証装置600から受信したチャレンジと、パラメータと、認証用データと、入力データ(第2入力データ)とを入力し、コミットメント(第2コミットメント)を生成する。ここで、入力データは、認証を受けるデータであり、登録データと照合されるデータであり、例えば生体情報である。ここでの入力データは、本明細書において、第2入力データ又は入力データyとも称される。証明生成部503は、入力データと、パラメータと、コミットメントとを入力し、入力データが入力データ空間に含まれていること、及び、入力データと登録データとの類似度が予め定められた受理範囲に含まれることを示す証明データ(第2証明データ)を生成する。認証データ生成部504は、コミットメントと、証明データとを入力し、認証データを生成する。
 認証データ検証装置600は、例えば、チャレンジ生成部601と、証明検証部602と、認証結果生成部603と、を有する。チャレンジ生成部601は、認証データ生成装置500から受信した認証要求を入力する。また、チャレンジ生成部601は、認証要求に含まれる登録データの識別子(ID)に対応した登録データを、登録データ記憶装置300から受信(抽出)し、所定のパラメータと、登録データからチャレンジを生成する。証明検証部602は、パラメータと、認証データ生成装置500から受信した認証データと、チャレンジとを入力する。また、証明検証部602は、認証データに含まれる証明データを検証し、検証結果を生成する。認証結果生成部603は、検証結果に基づき認証結果を生成する。
 <3.2.登録及び照合の動作>
 次に、図2及び図3を参照して、本実施形態における情報照合システム1の動作について説明する。図2は、入力データの登録の動作を表し、図3は、入力データと登録データの照合の動作を表す。なお、本実施形態において、データの送付(送信)及び受信は、各装置間で直接的に送受信されてもよいし、一方の装置が適宜の記憶部にデータを記憶し、他方の装置がデータを読み出すなど間接的な手法でデータを伝達してもよい。
 初めに、登録の動作を説明する。まず、登録データ生成装置100のコミットメント生成部101は、上述の入力データとパラメータを取得する(ステップA1)。なお、パラメータは、セキュリティパラメータ、受理範囲、及び、入力データのとりうる範囲(空間)を含む公開情報であり、その生成手段は特に限定されない。例えば、登録データ検証装置200又は認証データ検証装置600がパラメータ生成機能を有していてもよいし、情報照合システム1の外部で生成してもよい。
 コミットメント生成部101は、上述の入力データと、パラメータとを入力し、コミットメントを生成する(ステップA2)。証明生成部102は、上述の入力データと、パラメータと、コミットメントを入力し、入力データが予め定められた入力データ空間に含まれていることを示す証明データを生成し、コミットメントと証明データを登録データ検証装置200に送付する(ステップA3)。
 登録データ検証装置200の証明検証部201は、コミットメントと証明データを登録データ生成装置から受信する(ステップA3)。証明検証部201は、証明データの検証を行う(ステップA4)。例えば、証明検証部201は、所定のパラメータと、コミットメントと、証明データを入力する。証明検証部201は、証明データの検証を行い、検証が失敗(不受理)の場合、処理を停止する。一方、証明検証部201は、検証が成功(受理)の場合、登録データの識別子(ID)を生成し、登録データ生成装置100に送付する。ここで、識別子(ID)は、登録データ固有の識別子であり、生成手段は限定されない。例えば、識別子(ID)の生成の度に増加するカウンター値であってもよいし、乱数値であってもよい。
 登録データ生成部202は、コミットメント及び証明データを入力し、登録データを生成する(ステップA5)。登録データ生成部202は、識別子(ID)及び登録データを、登録データ記憶装置300に送付する(ステップA6)。識別子(ID)及び登録データを受信した登録データ記憶装置300は、(ID,登録データ)の対を記憶する(ステップA7)。
 登録データ生成装置100の認証用データ生成部103は、ステップA4において登録データ検証装置200から送信された識別子(ID)と、コミットメントと、証明データから、認証用データを生成する(ステップA8)。認証用データ生成部103は、認証用データを認証用データ記憶装置400に送付する(ステップA9)。認証用データを受信した認証用データ記憶装置400は、認証用データを記憶する(ステップA10)。
 次に、照合の動作を、図3を用いて説明する。まず、認証データ生成装置500の認証要求部501は、入力データyと、パラメータとを入力し、さらに認証用データ記憶装置400から認証用データを受信する(ステップB1)。認証要求部501は、入力データyと、パラメータと、認証用データから認証要求を生成し、生成された認証要求を認証データ検証装置600に送付する(ステップB2)。
 認証データ検証装置600のチャレンジ生成部601は、認証要求に含まれる識別子(ID)に対応した登録データを登録データ記憶装置300から受信(抽出)し、さらに、パラメータを入力してチャレンジを生成し、チャレンジを認証データ生成装置500に送付する(ステップB3)。
 認証データ生成装置500のコミットメント生成部502は、チャレンジと、入力データyと、パラメータと、認証用データを入力し、コミットメントを生成する(ステップB4)。証明生成部503は、コミットメントと、チャレンジと、入力データyと、パラメータと、認証用データを入力し、入力データyが予め定められた入力データの空間に含まれることと、及び、入力データyと登録データxの類似度が受理範囲に含まれることを示す証明データを生成する(ステップB5)。認証データ生成部504は、コミットメントと、証明データを入力し、認証データを生成し、認証データを認証データ検証装置600に送付する(ステップB6)。
 認証データ検証装置600の証明検証部602は、認証データと、登録データと、チャレンジと、パラメータを入力し、認証データに含まれる証明データの検証を行い、検証結果を生成する(ステップB7)。認証結果生成部603は、検証結果を入力し、認証結果を生成し、出力する(ステップB8)。
 <3.3.実施例1>
 次に、本実施形態における情報照合システム1の動作の実施例1について説明する。本実施例では、類似度として正規化相関を用いる場合について説明する。入力データは以下の条件を満たすことを仮定する。
(1) 入力データはn次元整数ベクトルである。すなわち、x=(x1,x2,・・・,xn)であり、各xiは整数とする。
(2) 各xiはa以上b以下の整数とする。すなわち、a≦xi≦bを満たす。ここで、a、bは予め定められた値であり、例えば整数でもよい。
(3) xは正規化されている。すなわち、すべての入力データx=(x1,x2,・・・,xn)に対して、(x1)+(x2)+…+(xn)=A(Aは0以上の定数)を満たす。
(4) 入力データx=(x1,x2,・・・,xn)と入力データy=(y1,y2,・・・,yn)が認証受理となるならば、xとyの内積<x,y>=x1y1+x2y2+…+xnynが受理範囲Θに含まれる。
(5) 入力データx=(x1,x2,・・・,xn)と入力データy=(y1,y2,・・・,yn)が認証不受理となるならば、xとyの内積<x,y>=x1y1+x2y2+…+xnynが受理範囲Θに含まれない。
 さらに、本実施例では、Fujisaki-Okamotoコミットメントを利用する。コミットメント(Commit,Open)とは、コミットメントフェーズとオープンフェーズの2つからなるプロトコルである。コミットメントフェーズでは、送信者はある値vと乱数rを用いて、コミットメントCom(v,r)を生成し、受信者に送付する。オープンフェーズでは、送信者はv及びrを受信者に送ることにより、コミットメントCom(v,r)をオープンする。ここで、コミットメントは秘匿性及び束縛性を満たすことが望ましい。秘匿性とは、コミットメントCom(v,r)からvに関する情報が得られないという性質である。束縛性とは、Com(v,r)を、v'≠vとしてオープンすることができない、という性質である。Fujisaki-Okamotoコミットメントは、秘匿性及び束縛性を満たすコミットメント方式であることが知られている。
 Fujisaki-Okamotoコミットメントを説明する。まず、セキュリティパラメータとしてk,l,t,sが与えられる。現時点では安全性のために、kは1024以上、lは80以上、tは160以上、sは80以上の値が推奨されるが、これら以外の値でもよい。また、パラメータとして、g,h,Nが与えられている。ここでNはkビットの素数p,qの積である。g,hはそれぞれNで割った余りの集合Zからランダムに選ばれた元であり、g=h^x mod Nを満たすxや、h=g^y mod Nを満たすyは公開されていないこととする。ここで,g^xはgのx乗を意味し、mod NはNの剰余を意味する。
 (コミットメントフェーズ)
 入力vとし、Com(v,r)=g^v・h^r mod Nをコミットメントとする。
 (オープンフェーズ)
 v,rを送付する。
 次に、本実施例で用いるゼロ知識証明について説明する。まず、ゼロ知識証明とは、ある人(証明者)が他の人(検証者)に、ある命題が真であることを証明する際に、真であること以外の情報を漏らさずに証明する手法をいう。本実施例では、知識のゼロ知識証明、範囲のゼロ知識証明、及び、2乗のゼロ知識証明を用いる。
 例として、離散対数の知識のゼロ知識証明を説明する。ここで、証明者はg^x mod Nに対する離散対数xを知っているものとし、g^xを知る検証者にxの知識をゼロ知識証明するものとする。Hをハッシュ関数とする。
 (証明段階)
(1) ランダムにwを[1,2^{l+t+s}-1]から選ぶ。
(2) c=H(g^w)を計算する。
(3) D=w+c・sを計算する。
(4) (c,D)を検証者に送る。
 (検証段階)
(1) c=H(g^D・(g^x)^{-c})が成り立つことを確認する。成り立っていたら受理、成り立っていなかったら不受理とする。
 次に、Fujisaki-Okamotoコミットメントを用いた2乗のゼロ知識証明及び範囲のゼロ知識証明を説明する。
 まず、2乗のゼロ知識証明を説明する。証明者は、Com(x^2,r)=g^{x^2}・h^rがxの2乗のコミットメントであることを、Com(x^2,r)を知る検証者にゼロ知識証明する。Hをハッシュ関数とする。
 (証明段階)
(1) 乱数r2をランダムに[-2^s・N+1,2^s・N-1]から選び、F=Com(x,r2)=g^{x}・h^{r2} mod Nを計算する。
(2) r3=r-r2・xを計算し、E=F^x・h^{r3} mod Nを計算する。
(3) wを[1,2^{l+t}・N-1]から、ηFを[1,2^{l+t+s}・N-1]から、ηEを[1,2^{l+t+s}・N-1]からそれぞれランダムに選び、WF=g^{w}・h^{ηF} mod N、WE=F^{w}・h^{ηE} mod Nを計算する。さらに、c=H(WF||WE)を計算し、D=w+c・x、DF=ηF+c・r2、DE=ηE+c・r3を計算する。
(4) (F,c,D,DF,DE)を検証者に送付する。
 (検証段階)
(1) c=H(g^D・h^{DF}F^{-c} mod N||F^{D}・h^{DE}・E^{-c} mod N)を確認する。等号が成り立っていたら受理、成り立っていなかったら不受理とする。
 次に、範囲のゼロ知識証明を説明する。証明者はE=Com(x,r)=g^x・h^r mod Nがa≦x≦bのコミットメントであることを、Com(x,r)及びa,bを知る検証者にゼロ知識証明する。なお、Hをハッシュ関数とする。floor(x)をxの小数点以下切り捨てを意味する関数とする。
 (証明段階)
(1) xの知識のゼロ知識証明を行う。
(2) E1=E/g^a mod NとE2=g^b/E mod Nを計算する。また,x1=x-a,x2=b-xとする。
(3) x11=floor(√(x1))、x12=x1-(x11)^2、x21=floor(√(x2))、x22=x2-(x21)^2とする。
(4) r11とr21を[-2^s・N+1,2^s・N-1]から,それぞれランダムに選ぶ。r12=r-r11,r22=-r-r21とする。
(5) E11=Com((x11)^2,r11)、E12=Com((x12),r12)、E21=Com((x21)^2,r21)、E22=Com((x22)^2,r22)とする。
(6) E11,E21を検証者に送る。検証者は、E12=E1/E11、E22=E2/E21を計算する。
(7) E11とE21がそれぞれx11,x21の二乗であることを、二乗のゼロ知識証明を用いて証明する。
(8) w1,w2を[0,2^{t+l}・2√(b-a)]、η1,η2を[-2^{t+l+s}N+1,2^{t+l+s}N-1]からランダムに選ぶ。W1=g^{w1}・h^{η1} mod N,W2=g^{w2}・h^{η2} mod Nを計算する。
(9) c=H(W1,W2)を計算する。
(10) D11=w1+x12・c,D12=η1+r12・c,D21=W2+x22・c,D22=η2+r22・cを計算し、(c,D11,D12,D21,D22)を検証者に送付する。
 (検証段階)
(1) 証明のステップ1における知識のゼロ知識証明及びステップ7における二乗のゼロ知識証明をそれぞれ検証する。1つでも不受理があれば、検証の処理を停止する。
(2) c=H(g^{D11}・h^{D12}・E12^{-c},g^{D21}・h^{D22}・E22^{-c})が成立することを確認する。等号が成り立っていたら受理の検証結果,成り立っていなかったら不受理の検証結果を出力する。
 次に、本実施例の情報照合システム1の登録の動作について説明する。まず、登録データ生成装置100は、入力として、パラメータと入力データx=(x1,x2,・・・,xn)を受け取る(ステップA1)。
 コミットメント生成部101は、i=1,…,nに対して、以下の処理を行う。
(1) Ei=Com(xi,ri),Fi=Com((xi)^2,r'i)を生成する(ステップA2)。すなわち、入力データに基づくコミットメントを生成する。ここで、riは、ステップA1で入力されたパラメータに含まれてもよい。
 証明生成部102は、i=1,…,nに対して、以下の処理を行う(ステップA3)。
(1) 次の4つのゼロ知識証明を行う。(1)Eiを用いて、xiの知識証明,(2)Eiを用いて、a≦xi≦bであることのゼロ知識証明,(3)Fiを用いて、xiの二乗のゼロ知識証明。
(2) さらに、F1,…,Fnを用いて、(4)Σ(xi)^2=(x1)^2+(x2)^2+…+(xn)^2=Aであることのゼロ知識証明を生成する。これはF1・F2・…・Fn=g^{Σ(xi)^2}・h^{Σ(r'i)}であるため、F1・F2・…・Fn/g^A=h^{Σ(r'i)}となり、Σ(r'i)の知識のゼロ知識証明を用いて実現できる。
 証明生成部102は、コミットメントと証明データを、登録データ検証装置200に送付する(ステップA3)。
 コミットメントと証明データを受信した登録データ検証装置200の証明検証部201は、上述の(1)から(3)のゼロ知識証明の検証を行う。1つでも検証不受理であれば検証の処理を停止する。一方、すべて検証受理であれば、証明検証部201は、登録データの識別子(ID)を生成し、識別子(ID)を登録データ生成装置100に送付する(ステップA4)。
 登録データ生成部202は、コミットメント{Ei}を登録データとする(ステップA5)。登録データ生成部202は、識別子(ID)と登録データの対(ID,登録データ)を登録データ記憶装置300に送付する(ステップA6)。登録データ記憶装置300は、(ID,登録データ)を記憶する(ステップA7)。
 ステップA4において識別子(ID)を受信した登録データ生成装置100の認証用データ生成部103は、(ID,{ri})を認証用データとして生成する(ステップA8)。認証用データ生成部103は、(認証用データを認証用データ記憶装置400に送付する(ステップA9)。認証用データ記憶装置400は、認証用データを記憶する(ステップA10)。
 次に、本実施例の情報照合システム1の照合の動作について説明する。まず、認証データ生成装置500の認証要求部501は、入力データy=(y1,y2,...,yn)と、パラメータとを入力として受け取り、認証用データ記憶装置400から認証用データ(ID,{ri})を受信(抽出)する(ステップB1)。一例として、入力データyともにログインID又はユーザの識別番号等を入力し、これらに関連づけられて記憶された認証用データを読み出してもよい。
 認証要求部501は、認証要求として、登録データの識別子(ID)を含むRequestを認証データ検証装置600に送付する(ステップB2)。
 チャレンジ生成部601は、識別子(ID)に対応する登録データ(ID、{Ei})を登録データ記憶装置300から受信(抽出)し、ランダムな値cを用いて、{(Ei)^c},h^cをチャレンジとし、チャレンジを認証データ生成装置500に送付する(ステップB3)。
 認証データ生成装置500のコミットメント生成部502は、各i=1,2,…,nに対して、以下の処理を行う。
(1) Com(yi,Ri)=g^{yi}・h^{Ri} mod N、Com((yi)^2,R'i)=g^{(yi)^2}・h^{R'i} mod N、Com(xiyi,R”i)=((Ei)^c)^{yi}・h^{R”i} mod Nを計算する(ステップB4)
 証明生成部503は、各i=1,2,…,nに対して以下の処理を行う。
(1) (1)Com(yi,Ri)を用いて、yiの知識のゼロ知識証明,(2)Com(yi,Ri)を用いて、a≦yi≦bの範囲のゼロ知識証明,(3)Com((yi)^2,R'i)を用いて、yiの二乗のゼロ知識証明。
(2) 次に、(4)Σ(yi)^2=(y1)^2+(y2)^2+…+(yn)^2=Aであることのゼロ知識証明を生成する。これは登録の時と同様の方法で実現できる。
(3) 次に、Com(xiyi,R”i)を用いて、(5)<x,y>が受理範囲Θに含まれることのゼロ知識証明を生成する。これも登録の時と同様の方法で実現できる。すなわち、Com(x1y1,R”1)・Com(x2y2,R”2)・…・Com(xnyn,R”n)=g^{c<x,y>}(h^{c})^{Σ(yi・ri)+Σ(R”i)}であるため、h^cに対して、Σ(yi・ri)+Σ(R”i)の知識のゼロ知識証明を生成する(ステップB5)。
 認証データ生成部504は、コミットメントと(1)から(5)の証明を証明データとして、認証データ検証装置600に送付する(ステップB6)。
 証明検証部602は、(1)から(5)の証明を検証し、すべてが受理であれば検証結果を受理にし、そうでなければ検証結果を不受理にする(ステップB7)。ここで、(4)の検証は、Com((y1)^2,R'1)・Com((y2)^2,R'2)・…・Com((yn)^2,R'n)=g^{Σ(yi)^2}・h^{Σ(R'i)} mod Nであるため、Com((y1)^2,R'1)・Com((y2)^2,R'2)・…・Com((yn)^2,R'n)/g^{A}として、ゼロ知識証明の検証を行うことにより実現できる。同様にして(5)の検証は、受理範囲Θに含まれる値θに対して、Com(x1y1,R”1)・Com(x2y2,R”2)・…・Com(xnyn,R”n)/g^{cθ}として、ゼロ知識証明の検証を行うことにより実現できる。
 認証結果生成部603は、検証結果が受理であれば、認証結果を受理とし、そうでなければ認証結果を不受理とする(ステップB8)。
 なお、本実施例の説明では、x、yのすべての次元に対して、xi(又はyi)がa≦xi≦bであることを証明しているが、その一部(例えば半分など)を証明するのでもよい。証明させる次元の選び方は限定されない。例えば、証明させる次元を登録データ検証装置200又は認証データ検証装置600がランダムに選んでもよい。
 また、本実施例の説明では、各ゼロ知識証明を独立に行うように説明しているが、並列に実行する際によく知られた効率化を行ってもよい。例えば、各ゼロ知識証明の中でハッシュ関数の計算を行っているが、それを1度に合わせて計算してもよい。同様に、各ゼロ知識証明の中でxi又はyiに関する知識の証明を行っているが、それを1度にまとめてしまっても構わない。
 さらに、本実施例の説明では、登録データ生成装置100及び認証データ生成装置500がハッシュ関数を用いてcを計算しているが、それを登録データ検証装置200及び認証データ検証装置600が生成した乱数値cと置き換えてもよい。このとき検証時に確認する式は、ハッシュ値の一致を確認するのではなく、cに関係する計算結果の一致を確認するものと変わる。
 なお、本実施例の説明では、入力データが入力データの空間に含まれることや、入力データと登録データの類似度が受理範囲に含まれることを、それぞれゼロ知識証明を用いて証明しているが、すべてを秘匿する必要のない場合は、コミットメントのオープンを実行してもよい。例えば入力データの各次元の値の二乗和が定数Aであることは、コミットメントに用いられた乱数を明らかにすることでも容易に検証できる。
 <3.4.実施例2>
 次に、本実施形態における情報照合システム1の動作の実施例2について説明する。
 本実施例では、類似度として二乗ユークリッド距離を用いる場合について説明する。入力データは以下の条件を満たすことを仮定する。
(1) 入力データはn次元整数ベクトルである。すなわち、x=(x1,x2,・・・,xn)であり、各xiは整数とする。
(2) 各xiはa以上b以下の整数とする。すなわち、a≦xi≦bを満たす。
(3) 入力データx=(x1,x2,・・・,xn)と入力データy=(y1,y2,・・・,yn)が認証受理となるならば、xとyのユークリッド距離の二乗d(x,y)=(x1-y1)^2+(x2-y2)^2+…+(xn-yn)^2が受理範囲Θに含まれる。
(4) 入力データx=(x1,x2,・・・,xn)と入力データy=(y1,y2,・・・,yn)が認証不受理となるならば、xとyのユークリッド距離の二乗d(x,y)=(x1-y1)^2+(x2-y2)^2+…+(xn-yn)^2が受理範囲Θに含まれない。
 次に、本実施例の情報照合システム1の登録の動作について説明する。まず、登録データ生成装置100は、入力として、パラメータと入力データx=(x1,x2,・・・,xn)を受け取る(ステップA1)。
 コミットメント生成部101は、i=1,…,nに対して、以下の処理を行う。すなわち、Ei=Com(xi,ri),Fi=Com((xi)^2,r'i)を生成する(ステップA2)。
 証明生成部102は、i=1,…,nに対して、以下の処理を行う(ステップA3)。すなわち、次の3つのゼロ知識証明を行う。(1)Eiを用いて、xiの知識証明,(2)Eiを用いて、a≦xi≦bであることのゼロ知識証明,(3)Fiを用いて、xiの二乗のゼロ知識証明。
 証明生成部102は、コミットメントと証明データを登録データ検証装置200に送付する(ステップA3)。
 コミットメントと証明データを受信した登録データ検証装置200の証明検証部201は、上述の(1)から(3)のゼロ知識証明の検証を行う。証明検証部201は、1つでも検証不受理であれば検証の処理を停止する。一方、すべて検証受理であれば、証明検証部201は、登録データの識別子(ID)を生成し、識別子(ID)を登録データ生成装置100に送付する(ステップA4)。
 登録データ生成部202は、({Ei}、F=F1・F2・…・Fn)を登録データとする(ステップA5)。登録データ生成部202は、識別子(ID)と登録データの対(ID,登録データ)を登録データ記憶装置300に送付する(ステップA6)。登録データ記憶装置300は、(ID,登録データ)を記憶する(ステップA7)。
 ステップA4において識別子(ID)を受信した登録データ生成装置100の認証用データ生成部103は、(ID,{ri},r'=Σ(r'i))を認証用データとして生成する(ステップA8)。認証用データ生成部103は、認証用データを認証用データ記憶装置400に送付する(ステップA9)。認証用データ記憶装置400は、認証用データを記憶する(ステップA10)。
 次に、本実施例の情報照合システム1の照合の動作について説明する。まず、認証データ生成装置500の認証要求部501は、入力データy=(y1,y2,...,yn)と、パラメータとを入力として受け取り、認証用データ記憶装置400から認証用データ(ID,{ri},r')を受信(抽出)する(ステップB1)。一例として、入力データyともにログインID又はユーザの識別番号等を入力し、これらに関連づけられて記憶された認証用データを読み出してもよい。
 認証要求部501は、認証要求として、登録データの識別子(ID)を含むRequestを認証データ検証装置600に送付する(ステップB2)。
 チャレンジ生成部601は、識別子(ID)に対応する登録データ(ID、{Ei},F)を登録データ記憶装置300から受信(抽出)し、ランダムな値cを用いて、{(Ei)^c},h^cをチャレンジとし、チャレンジを認証データ生成装置500に送付する(ステップB3)。
 認証データ生成装置500のコミットメント生成部502は、各i=1,2,…,nに対して、以下の処理を行う。
(1) Com(yi,Ri)=g^{yi}・h^{Ri} mod N、Com((yi)^2,R'i)=g^{(yi)^2}・h^{R'i} mod N、Com(xiyi,R”i)=((Ei)^c)^{yi}・h^{R”i} mod Nを計算する(ステップB4)。
(2) 次に、証明生成部503は、各i=1,2,…,nに対して以下の処理を行う。
(3) (1)Com(yi,Ri)を用いて、yiの知識のゼロ知識証明,(2)Com(yi,Ri)を用いて、a≦yi≦bの範囲のゼロ知識証明,(3)Com((yi)^2,R'i)を用いて、yiの二乗のゼロ知識証明。
(4) 次に、Com(xiyi,R”i)と、Com((yi)^2,R'i)と、{ri}と、r'を用いて、(4)d(x,y)が受理範囲Θに含まれることのゼロ知識証明を生成する。これは、Com(Σ((xi)^2),r')・Com((y1)^2,R'1)・…・Com((yn)^2,R'n)・(Com((x1y1,R”1)・Com(x2y2,R”2)・…・Com(xnyn,R”n))^{-2/c})=g^{Σ(xi)^2+Σ(yi)^2-2<x,y>}(h)^{r'+Σ(R'i)+Σ(yi・ri)+Σ(R”i)}であるため、hに対して、r'+Σ(R'i)+Σ(yi・ri)+Σ(R”i)の知識のゼロ知識証明を生成する(ステップB5)。
 認証データ生成部504は、コミットメントと(1)から(4)の証明を証明データとして、認証データ検証装置600に送付する(ステップB6)。
 証明検証部602は、(1)から(4)の証明を検証し、すべてが受理であれば検証結果を受理にし、そうでなければ検証結果を不受理にする(ステップB7)。
 認証結果生成部603は、検証結果が受理であれば、認証結果を受理とし、そうでなければ認証結果を不受理とする(ステップB8)。
 本実施例の説明では、x、yのすべての次元に対して、xi(又はyi)がa≦xi≦bであることを証明しているが、その一部(例えば半分など)を証明するのでもよい。証明させる次元の選び方は問わない。例えば、証明させる次元を登録データ検証装置200又は認証データ検証装置600がランダムに選んでもよい。
 また、本実施例の説明では、各ゼロ知識証明を独立に行うように説明しているが、並列に実行する際によく知られた効率化を行ってもよい。例えば、各ゼロ知識証明の中でハッシュ関数の計算を行っているが、それを1度に合わせて計算してもよい。同様に、各ゼロ知識証明の中でxi又はyiに関する知識の証明を行っているが、それを1度にまとめてしまっても構わない。
 さらに、本実施例の説明では、登録データ生成装置100及び認証データ生成装置500がハッシュ関数を用いてcを計算しているが、それを登録データ検証装置200及び認証データ検証装置600が生成した乱数値cと置き換えてもよい。このとき検証時に確認する式は、ハッシュ値の一致を確認するのではなく、cに関係する計算結果の一致を確認するものと変わる。
 なお、本実施例の説明では、入力データが入力データの空間に含まれることや、入力データと登録データの類似度が受理範囲に含まれることを、それぞれゼロ知識証明を用いて証明しているが、すべてを秘匿する必要のない場合は、コミットメントのオープンを実行してもよい。
(効果)
 上述した本実施形態における効果のひとつは、生体から生成されていないデータを入力データとして、登録データを生成することや、認証データを生成することを不可能にしていることである。また、これにより、より安全な情報照合システム1を実現することが可能になる。また、例えば、ステップA2及びA3によって、入力データが予め定められた入力データの空間にあることをゼロ知識証明を用いて検証できる。
 上述した本実施形態では、登録データはFujisaki-Okamotoコミットメントのコミットメントと識別子(ID)である。Fujisaki-Okamotoコミットメントは情報理論的な秘匿性を満たすことが知られており、生体特徴量のコミットメントは乱数と見分けがつかないことが数学的に示されている。したがって、万が一コミットメントが漏洩したとしても、生体特徴量は漏洩しない。また、認証用データは、コミットメント生成時に使用した乱数と識別子IDである。明かに、認証用データから生体特徴量に関する情報は漏洩しない。
 <<4.その他>>
 図4は、装置のハードウェア構成を示すブロック図である。上述の各装置は、物理的に以下の構成を有することができる。装置10は、例えば、入力部11と、出力部12と、記憶部13と、処理部14とを有する。
 入力部11は、データ、情報、信号等を入力する。入力部11は、例えば、他の装置からデータ等を受信するインターフェース、ユーザからの入力を受け付ける操作部、生体情報を読み取る読取装置などでもよい。出力部12は、データ、情報、信号等を出力する。出力部12は、例えば、他の装置へデータ等を送信するインターフェース、画面を表示する表示部などでもよい。記憶部13は、装置10の動作のためのプログラム及びパラメータ、並びに様々なデータを、一時的に又は恒久的に記憶する。処理部14は、例えば、CPU(Central Processing Unit)などの1つ以上のプロセッサで構成される。処理部14は、例えば記憶部13に記憶されたプログラムを実行して、上述の各装置の動作を行ってもよい。プログラムは、上述の各装置の動作をプロセッサに実行させるためのプログラムであってもよい。
 上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
 登録のための第1入力データの第1コミットメントと、第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成装置と、
 前記第1コミットメントと前記第1証明データの一部又は全部を記憶する認証用データ記憶装置と、
 前記第1コミットメントと前記第1証明データの検証を行う登録データ検証装置と、
 前記第1コミットメントと前記第1証明データの一部又は全部を登録データとして記憶する登録データ記憶装置と、
 認証されるための第2入力データの第2コミットメントと、前記第2入力データが前記予め定められた入力データ空間に含まれていること及び前記第2入力データと前記登録データ記憶装置の前記登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成装置と、
 前記第2コミットメントと前記第2証明データの検証を行う認証データ検証装置と
を備えた情報照合システム。
(付記2)
 付記1に記載の情報照合システムであって、
 前記登録データ生成装置が生成する第1証明データの一部又は全部が、ゼロ知識証明によるデータである
 ことを特徴とする情報照合システム。
(付記3)
 付記1又は2に記載の情報照合システムであって、
 前記認証データ生成装置が生成する前記第2証明データの一部又は全部が、ゼロ知識証明によるデータである
 ことを特徴とする情報照合システム。
(付記4)
 付記1~3のいずれか1項に記載の情報照合システムであって、
 前記登録データ記憶装置に記憶された前記登録データが、前記第1入力データの前記第1コミットメントを含む
 ことを特徴とする情報照合システム。
(付記5)
 付記1~4のいずれか1項に記載の情報照合システムであって、
 前記認証用データ記憶装置に記憶された認証用データが、前記第1入力データの前記第1コミットメントを生成する際に用いた乱数を含む
 ことを特徴とする情報照合システム。
(付記6)
 付記1~5のいずれか1項に記載の情報照合システムであって、
 前記登録データ生成装置が生成する前記第1コミットメントの一部又は全部が、パラメータg、h、N、前記第1入力データx、乱数rに対して、g^x・h^r mod Nである
 ことを特徴とする情報照合システム。
(付記7)
 付記1~6のいずれか1項に記載の情報照合システムであって、
 前記認証データ生成装置が生成する前記第2コミットメントの一部又は全部が、パラメータg、h、N、前記第2入力データy、乱数rに対して、g^y・h^r mod Nである
 ことを特徴とする情報照合システム。
(付記8) 登録のための第1入力データの第1コミットメントと、前記第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを含む登録データを生成する登録データ生成部と、
 前記第1コミットメントと前記第1証明データの一部又は全部を記憶する認証用データ記憶部と、
 認証されるための第2入力データの第2コミットメントと、前記第2入力データが前記予め定められた入力データ空間に含まれていること及び前記第2入力データと前記登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成部と
を備えたクライアント端末。
(付記9)
 登録のための第1入力データの第1コミットメントと、前記第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを入力し、前記第1コミットメントと前記第1証明データの検証を行う登録データ検証部と、
 認証されるための第2入力データの第2コミットメントと、前記第2入力データが前記予め定められた入力データ空間に含まれていること及び前記第2入力データと登録データ記憶部の登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データと入力し、前記第2コミットメントと前記第2証明データの検証を行う認証データ検証部と
の少なくとも一方を備えたサーバ。
(付記10)
 登録のための第1入力データの第1コミットメントと、第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成処理と、
 前記第1コミットメントと前記第1証明データの一部又は全部を記憶する認証用データ記憶処理と、
 前記第1コミットメントと前記第1証明データの検証を行う登録データ検証処理と、
 前記第1コミットメントと前記第1証明データの一部又は全部を登録データとして記憶する登録データ記憶処理と、
 認証されるための第2入力データの第2コミットメントと、前記第2入力データが前記予め定められた入力データ空間に含まれていること及び前記第2入力データと登録データ記憶部の前記登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成処理と、
 前記第2コミットメントと前記第2証明データの検証を行う認証データ検証処理と
を含む情報照合方法。
(付記11)
 登録のための第1入力データの第1コミットメントと、第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成処理と、
 前記第1コミットメントと前記第1証明データの一部又は全部を記憶する認証用データ記憶処理と、
 前記第1コミットメントと前記第1証明データの検証を行う登録データ検証処理と、
 前記第1コミットメントと前記第1証明データの一部又は全部を登録データとして記憶する登録データ記憶処理と、
 認証されるための第2入力データの第2コミットメントと、前記第2入力データが前記予め定められた入力データ空間に含まれていること及び前記第2入力データと登録データ記憶部の前記登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成処理と、
 前記第2コミットメントと前記第2証明データの検証を行う認証データ検証処理と
をコンピュータに実行させる情報照合プログラム。
 前述の通り、各実施形態の技術により、カメラ等のセンサで取得した生体情報と、データベースに保存されている一人又は複数人の生体情報とを、両者の持つ生体情報を互いに秘匿したまま、安全に照合することが可能である。センサの管理者(組織)と、データベースの管理者(組織)が異なる場合に、効果的である。
 各実施形態の技術は例えば、スマートフォン等を用いてリモートのサーバに対して生体認証を行う際に利用可能である。ユーザ自身が保持するスマートフォンに認証用データを、サーバに登録データをそれぞれ登録し、認証を行う際にスマートフォンで生体情報を採取し、記憶している認証用データを用いて、認証データの生成を行い、サーバがユーザを認証することが可能となる。
 スマートフォンを用いたリモート生体認証の利用例として、ネットショッピングや会員サービスの利用などが挙げられる。本技術を用いれば、サーバはユーザの生体情報に関して、同一生体であるか否か以外の情報を得ることなく、スマートフォンの生体認証機能を用いてユーザ認証を行うことが可能である。したがって、サーバからのユーザ情報の漏洩リスクを低減できる。
 100      登録データ生成装置(登録データ生成部)
 200      登録データ検証装置(登録データ検証部)
 300      登録データ記憶装置(登録データ記憶部)
 400      認証用データ記憶装置(認証用データ記憶部)
 500      認証データ生成装置(認証データ生成部)
 600      認証データ検証装置(認証データ検証部)

Claims (11)

  1.  登録のための第1入力データの第1コミットメントと、前記第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成装置と、
     前記第1コミットメントと前記第1証明データの一部又は全部を記憶する認証用データ記憶装置と、
     前記第1コミットメントと前記第1証明データの検証を行う登録データ検証装置と、
     前記第1コミットメントと前記第1証明データの一部又は全部を登録データとして記憶する登録データ記憶装置と、
     認証されるための第2入力データの第2コミットメントと、前記第2入力データが前記予め定められた入力データ空間に含まれていること及び前記第2入力データと前記登録データ記憶装置の前記登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成装置と、
     前記第2コミットメントと前記第2証明データの検証を行う認証データ検証装置と
    を備えた情報照合システム。
  2.  請求項1に記載の情報照合システムであって、
     前記登録データ生成装置が生成する前記第1証明データの一部又は全部が、ゼロ知識証明によるデータである
     ことを特徴とする情報照合システム。
  3.  請求項1に記載の情報照合システムであって、
     前記認証データ生成装置が生成する前記第2証明データの一部又は全部が、ゼロ知識証明によるデータである
     ことを特徴とする情報照合システム。
  4.  請求項1に記載の情報照合システムであって、
     前記登録データ記憶装置に記憶された前記登録データが、前記第1入力データの前記第1コミットメントを含む
     ことを特徴とする情報照合システム。
  5.  請求項1に記載の情報照合システムであって、
     前記認証用データ記憶装置に記憶された認証用データが、前記第1入力データの前記第1コミットメントを生成する際に用いた乱数を含む
     ことを特徴とする情報照合システム。
  6.  請求項1に記載の情報照合システムであって、
     前記登録データ生成装置が生成する前記第1コミットメントの一部又は全部が、パラメータg、h、N、前記第1入力データx、乱数rに対して、g^x・h^r mod Nである
     ことを特徴とする情報照合システム。
  7.  請求項1に記載の情報照合システムであって、
     前記認証データ生成装置が生成する前記第2コミットメントの一部又は全部が、パラメータg、h、N、前記第2入力データy、乱数rに対して、g^y・h^r mod Nである
     ことを特徴とする情報照合システム。
  8.  登録のための第1入力データの第1コミットメントと、前記第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを含む登録データを生成する登録データ生成部と、
     前記第1コミットメントと前記第1証明データの一部又は全部を記憶する認証用データ記憶部と、
     認証されるための第2入力データの第2コミットメントと、前記第2入力データが前記予め定められた入力データ空間に含まれていること及び前記第2入力データと前記登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成部と
    を備えたクライアント端末。
  9.  登録のための第1入力データの第1コミットメントと、前記第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを入力し、前記第1コミットメントと前記第1証明データの検証を行う登録データ検証部と、
     認証されるための第2入力データの第2コミットメントと、前記第2入力データが前記予め定められた入力データ空間に含まれていること及び前記第2入力データと登録データ記憶部の登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データと入力し、前記第2コミットメントと前記第2証明データの検証を行う認証データ検証部と
    の少なくとも一方を備えたサーバ。
  10.  登録のための第1入力データの第1コミットメントと、前記第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成処理と、
     前記第1コミットメントと前記第1証明データの一部又は全部を記憶する認証用データ記憶処理と、
     前記第1コミットメントと前記第1証明データの検証を行う登録データ検証処理と、
     前記第1コミットメントと前記第1証明データの一部又は全部を登録データとして記憶する登録データ記憶処理と、
     認証されるための第2入力データの第2コミットメントと、前記第2入力データが前記予め定められた入力データ空間に含まれていること及び前記第2入力データと登録データ記憶部の前記登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成処理と、
     前記第2コミットメントと前記第2証明データの検証を行う認証データ検証処理と
    を含む情報照合方法。
  11.  登録のための第1入力データの第1コミットメントと、前記第1入力データが予め定められた入力データ空間に含まれていることを示す第1証明データとを生成する登録データ生成処理と、
     前記第1コミットメントと前記第1証明データの一部又は全部を記憶する認証用データ記憶処理と、
     前記第1コミットメントと前記第1証明データの検証を行う登録データ検証処理と、
     前記第1コミットメントと前記第1証明データの一部又は全部を登録データとして記憶する登録データ記憶処理と、
     認証されるための第2入力データの第2コミットメントと、前記第2入力データが前記予め定められた入力データ空間に含まれていること及び前記第2入力データと登録データ記憶部の前記登録データの類似度が予め定められた受理範囲に含まれていることを示す第2証明データとを生成する認証データ生成処理と、
     前記第2コミットメントと前記第2証明データの検証を行う認証データ検証処理と
    をコンピュータに実行させる情報照合プログラム。
PCT/JP2019/036523 2019-09-18 2019-09-18 情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム WO2021053749A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/036523 WO2021053749A1 (ja) 2019-09-18 2019-09-18 情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム
JP2021546103A JP7294431B2 (ja) 2019-09-18 2019-09-18 情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム
US17/640,583 US20220321348A1 (en) 2019-09-18 2019-09-18 Information collation system, client terminal, server, information collation method, and information collation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/036523 WO2021053749A1 (ja) 2019-09-18 2019-09-18 情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム

Publications (1)

Publication Number Publication Date
WO2021053749A1 true WO2021053749A1 (ja) 2021-03-25

Family

ID=74884368

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/036523 WO2021053749A1 (ja) 2019-09-18 2019-09-18 情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム

Country Status (3)

Country Link
US (1) US20220321348A1 (ja)
JP (1) JP7294431B2 (ja)
WO (1) WO2021053749A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023159600A (ja) * 2022-04-20 2023-11-01 プロパティエージェント株式会社 情報処理システムおよび情報処理方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11909854B2 (en) 2022-06-09 2024-02-20 The Government of the United States of America, as represented by the Secretary of Homeland Security Third party biometric homomorphic encryption matching for privacy protection
US20230403159A1 (en) 2022-06-09 2023-12-14 The Government of the United States of America, as represented by the Secretary of Homeland Security Biometric identification using homomorphic primary matching with failover non-encrypted exception handling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011148902A1 (ja) * 2010-05-28 2011-12-01 日本電気株式会社 匿名認証システム、ユーザ装置、検証装置、匿名認証方法および匿名認証プログラム
WO2012042775A1 (ja) * 2010-09-30 2012-04-05 パナソニック株式会社 生体認証システム、通信端末装置、生体認証装置、および生体認証方法
JP2018014622A (ja) * 2016-07-21 2018-01-25 株式会社日立製作所 署名検証システム、署名検証方法及びプログラム
US20190020482A1 (en) * 2017-07-13 2019-01-17 Pindrop Security, Inc. Zero-knowledge multiparty secure sharing of voiceprints

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5537032B2 (ja) * 2005-12-13 2014-07-02 コーニンクレッカ フィリップス エヌ ヴェ 安全な閾値復号プロトコル計算

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011148902A1 (ja) * 2010-05-28 2011-12-01 日本電気株式会社 匿名認証システム、ユーザ装置、検証装置、匿名認証方法および匿名認証プログラム
WO2012042775A1 (ja) * 2010-09-30 2012-04-05 パナソニック株式会社 生体認証システム、通信端末装置、生体認証装置、および生体認証方法
JP2018014622A (ja) * 2016-07-21 2018-01-25 株式会社日立製作所 署名検証システム、署名検証方法及びプログラム
US20190020482A1 (en) * 2017-07-13 2019-01-17 Pindrop Security, Inc. Zero-knowledge multiparty secure sharing of voiceprints

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023159600A (ja) * 2022-04-20 2023-11-01 プロパティエージェント株式会社 情報処理システムおよび情報処理方法
JP7432806B2 (ja) 2022-04-20 2024-02-19 ミガロホールディングス株式会社 情報処理システムおよび情報処理方法

Also Published As

Publication number Publication date
JPWO2021053749A1 (ja) 2021-03-25
JP7294431B2 (ja) 2023-06-20
US20220321348A1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
US11770369B2 (en) System and method for identity verification across mobile applications
US10015154B2 (en) Un-password: risk aware end-to-end multi-factor authentication via dynamic pairing
EP1815637B1 (en) Securely computing a similarity measure
US8325994B2 (en) System and method for authenticated and privacy preserving biometric identification systems
US7711152B1 (en) System and method for authenticated and privacy preserving biometric identification systems
US10873447B2 (en) Efficient concurrent scalar product calculation
WO2012042775A1 (ja) 生体認証システム、通信端末装置、生体認証装置、および生体認証方法
WO2017195886A1 (ja) 認証システム、認証方法およびプログラム
JP7294431B2 (ja) 情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム
US11831780B2 (en) Verification of biometric templates for privacy preserving authentication
JP7259868B2 (ja) システムおよびクライアント
CN107248909A (zh) 一种基于sm2算法的无证书安全签名方法
US11429702B2 (en) Method of verification of a biometric authentication
JP7231023B2 (ja) 照合システム、クライアントおよびサーバ
Kurmi et al. A survey of zero-knowledge proof for authentication
WO2020121461A1 (ja) 照合システム、クライアントおよびサーバ
JPWO2020121458A1 (ja) 照合システム、クライアントおよびサーバ
WO2021064981A1 (ja) 情報照合システム及び情報照合方法
WO2021070275A1 (ja) 情報照合システム及び情報照合方法
JP7280285B2 (ja) 効率的な同時スカラー積計算
Chollet et al. Privacy preserving biometric identity verification
木原眞紀 New authentication algorithm and single sign-on algorithm based on verifiable encryption
CN113691366A (zh) 脱敏安全的生物特征身份认证系统

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: 19945641

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021546103

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: 19945641

Country of ref document: EP

Kind code of ref document: A1