WO2023127068A1 - 照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法 - Google Patents

照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法 Download PDF

Info

Publication number
WO2023127068A1
WO2023127068A1 PCT/JP2021/048720 JP2021048720W WO2023127068A1 WO 2023127068 A1 WO2023127068 A1 WO 2023127068A1 JP 2021048720 W JP2021048720 W JP 2021048720W WO 2023127068 A1 WO2023127068 A1 WO 2023127068A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
matrix
key
registration
matching
Prior art date
Application number
PCT/JP2021/048720
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/JP2021/048720 priority Critical patent/WO2023127068A1/ja
Publication of WO2023127068A1 publication Critical patent/WO2023127068A1/ja

Links

Images

Classifications

    • 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

Definitions

  • the present invention relates to a verification system, a key generation device, a verification device, a first conversion device, a second conversion device, and methods thereof.
  • Biometric authentication is a method of personal authentication that checks whether or not the person to be authenticated matches the person to be authenticated by comparing the biometric information of the person to be authenticated with the biometric information of the person to be authenticated.
  • biometric information is data extracted from a part of individual characteristics related to body and behavior.
  • biometric information includes features extracted from images such as fingerprints and palm prints, and features extracted from voice data such as voiceprints.
  • biometric authentication With biometric authentication, the biometric information of the person to be authenticated is registered in advance, and at the time of authentication, it is verified whether the registered biometric information matches the biometric information of the person to be authenticated. At this time, biometric information requires advanced safety management. This is because biometric information is also personal information, and the leakage of biometric information itself is a damage, and when biometric information is leaked, it cannot be discarded or updated, so all authentication systems that use the same biometric information will lose security. Because it becomes Therefore, as standards for protection of biometric information, it is required that even a server administrator cannot obtain the original biometric information and that registered biometric information can be invalidated.
  • Cancelable biometrics is available as a matching method that satisfies such demands.
  • Cancelable biometrics is a method of matching the feature amount extracted from the living body while it is transformed.
  • the feature amount x is transformed T ⁇ F K (x) using the registration key K, and matching is performed.
  • the feature quantity y is transformed T′ ⁇ G K′ (x) using the matching key K′, and the transformed T and T′ are compared to match the feature quantity x and the feature quantity y. method.
  • the registration key or matching key is estimated from the set of the registered data or matching data and the original feature amount.
  • security is ensured even if a set of registered data or matching data and the original feature amount is leaked.
  • the registration key is often used as a verification key. This means that if either the registration key or the verification key is leaked, the other key will also be leaked.
  • an object of the present invention is to provide a verification system, a key generation device, a verification device, a first conversion device, a second conversion device, and methods thereof that contribute to improving the security of cancelable biometrics. is to provide
  • a randomly selected first regular matrix is generated as a registration key matrix
  • a randomly selected second regular matrix is generated as a verification key matrix
  • the registration key matrix and the verification are generated.
  • a key generation device that generates an auxiliary key matrix from matrix multiplication with a key matrix, and a registered feature quantity vector that is generated from input registration information, and the registered feature quantity vector and the registration key matrix received from the key generation device.
  • a first conversion device for generating a registration secret vector by calculating the product of and a matching feature vector for generating a matching feature quantity vector from input matching information, said matching feature vector and said matching key matrix received from said key generating device a second conversion device for generating a verification ciphering vector by calculating the product of the registration ciphering vector received from the first conversion device and the verification ciphering vector received from the second conversion device and from the key generation device a verification device that verifies the registration information and the verification information by calculating a vector-matrix product in the received auxiliary key matrix.
  • a first transform for generating a registered feature amount vector from input registration information and generating a registration confidentiality vector by calculating the product of the registered feature amount vector and the registration key matrix a second conversion device that generates a matching feature amount vector from input matching information and calculates a product of the matching feature amount vector and the matching key matrix to generate a matching confidentiality vector; using a verification device for calculating the product of a vector and a matrix in the registration secret vector received from the conversion device, the verification secret vector received from the second conversion device, and the auxiliary key matrix, the registration information and the verification information; wherein a randomly selected first regular matrix is generated as the registration key matrix, and a randomly selected second regular matrix is generated as a verification key matrix , a key generation device for generating an auxiliary key matrix from a matrix product of the registration key matrix and the verification key matrix.
  • a key generation device for generating a registration key, a verification key, and an auxiliary key; a first conversion device for generating a registration confidentiality vector from the received registration key; A matching device for matching the registration information with the matching information using a second conversion device that generates a matching secret vector from the second conversion device, the registration secret vector received from the first conversion device and the second A verification device is provided for calculating a verification result between the registration information and the verification information from the verification encryption vector received from the conversion device and the auxiliary key received from the key generation device.
  • a randomly selected first regular matrix is generated as a registration key matrix
  • a randomly selected second regular matrix is generated as a verification key matrix
  • the registration key matrix and the verification are generated.
  • a key generation device that generates an auxiliary key matrix from matrix multiplication with a key matrix, and a registered feature quantity vector that is generated from input registration information, and the registered feature quantity vector and the registration key matrix received from the key generation device.
  • a matching device for matching the registration information and the matching information using a second conversion device that generates a matching concealment vector by calculating the product of By calculating a vector-matrix product of the registration encryption vector received from the first conversion device, the verification encryption vector received from the second conversion device, and the auxiliary key matrix received from the key generation device, A collation device is provided for collating registration information with the collation information.
  • a randomly selected first regular matrix is generated as a registration key matrix
  • a randomly selected second regular matrix is generated as a verification key matrix
  • the registration key matrix and the verification are generated.
  • a key generation device for generating an auxiliary key matrix from matrix multiplication with a key matrix; and a vector in the matching encryption vector and the enrollment encryption vector received from the second conversion device and the auxiliary key matrix received from the key generating device, and a matching device for calculating the product of matrices; and a first conversion device for registering the registration confidentiality vector in the matching device for a matching method using , wherein a registration feature vector is generated from input registration information.
  • a first conversion device that generates the registration secret vector by calculating the product of the registration feature quantity vector and the registration key matrix received from the key generation device, and transmits the registration secret vector to the matching device; provided.
  • a randomly selected first regular matrix is generated as a registration key matrix
  • a randomly selected second regular matrix is generated as a verification key matrix
  • the registration key matrix and the verification are generated.
  • a key generation device that generates an auxiliary key matrix from matrix multiplication with a key matrix, and a registered feature quantity vector that is generated from input registration information, and the registered feature quantity vector and the registration key matrix received from the key generation device.
  • a first conversion device for generating a registration secret vector by calculating the product of the registration secret vector received from the first conversion device, the verification secret vector inputted from the first conversion device, and the auxiliary key matrix received from the key generation device a matching device for calculating the product of a vector and a matrix in and a second conversion device for transmitting the matching concealment vector to the matching device for a matching method using a matching feature amount from input matching information generating a vector, calculating the product of the matching feature amount vector and the matching key matrix received from the key generating device to generate the matching confidentiality vector, and transmitting the matching confidentiality vector to the matching device; 2 conversion device is provided.
  • a seventh aspect of the present invention is a verification method for verifying registration information input to a first conversion device and verification information input to a second conversion device using a key distributed by a key generation device, , the key generation device generates a randomly selected first regular matrix as a registration key matrix, the key generation device generates a randomly selected second regular matrix as a verification key matrix, and the key generation A device generates an auxiliary key matrix from the matrix product of the registration key matrix and the verification key matrix, the first conversion device generates a registered feature vector from the registration information, and the first conversion device A registration secret vector is generated by calculating the product of the registration feature vector and the registration key matrix, the second conversion device generates a verification feature vector from the verification information, and the second conversion device generates and generating a matching encryption vector by calculating the product of the matching feature vector and the matching key matrix, and the matching device generates a vector and a matrix in the registration encryption vector, the matching encryption vector, and the auxiliary key matrix A matching method is provided for matching the registration information and the matching information by calculating the
  • a key generation method is provided for generating an auxiliary key matrix from the matrix product of a matrix and the matching key matrix.
  • a randomly selected first regular matrix is generated as a registration key matrix
  • a randomly selected second regular matrix is generated as a verification key matrix
  • the registration key matrix and the verification are generated.
  • a key generation device that generates an auxiliary key matrix from matrix multiplication with a key matrix, and a registered feature quantity vector that is generated from input registration information, and the registered feature quantity vector and the registration key matrix received from the key generation device.
  • a matching method is provided.
  • a randomly selected first regular matrix is generated as a registration key matrix
  • a randomly selected second regular matrix is generated as a verification key matrix
  • the registration key matrix and the verification are generated.
  • a key generation device for generating an auxiliary key matrix from matrix multiplication with a key matrix; and a vector in the matching encryption vector and the enrollment encryption vector received from the second conversion device and the auxiliary key matrix received from the key generating device, and and a matching device for calculating the product of matrices; a first conversion method of generating the registration secret vector by calculating the product of the registration feature quantity vector and the registration key matrix received from the key generation device, and transmitting the registration secret vector to the verification device; provided.
  • a randomly selected first regular matrix is generated as a registration key matrix
  • a randomly selected second regular matrix is generated as a verification key matrix
  • the registration key matrix and the verification are generated.
  • a key generation device that generates an auxiliary key matrix from matrix multiplication with a key matrix, and a registered feature quantity vector that is generated from input registration information, and the registered feature quantity vector and the registration key matrix received from the key generation device.
  • a first conversion device for generating a registration secret vector by calculating the product of the registration secret vector received from the first conversion device, the verification secret vector inputted from the first conversion device, and the auxiliary key matrix received from the key generation device and a second conversion method for transmitting the matching concealment vector to the matching device for a matching method using a matching feature amount from input matching information generating a vector, calculating the product of the matching feature amount vector and the matching key matrix received from the key generating device to generate the matching confidentiality vector, and transmitting the matching confidentiality vector to the matching device;
  • a verification system a key generation device, a verification device, a first conversion device, a second conversion device, and methods thereof that contribute to improving the security of cancelable biometrics are provided. be able to.
  • FIG. 1 is a schematic configuration diagram of a matching system according to the first embodiment.
  • FIG. 2 is a system flow diagram showing the key generation method according to the first embodiment.
  • FIG. 3 is a system flow diagram showing the first conversion method according to the first embodiment.
  • FIG. 4 is a system flow diagram showing the second conversion method according to the first embodiment.
  • FIG. 5 is a diagram illustrating a hardware configuration example of a device used in the embodiment;
  • FIG. 6 is a schematic configuration diagram of a matching system according to the seventh embodiment.
  • FIG. 7 is a diagram showing an example of expansion of the registration feature amount vector and the matching feature amount vector.
  • FIG. 1 is a schematic configuration diagram of a matching system according to the first embodiment.
  • verification system 100 uses a key distributed by key generation device 140 to verify registration information input to first conversion device 110 and verification information input to second conversion device 120 into a verification device. 130 is used to match.
  • the first conversion device 110 and the second conversion device 120 can be shared by the same device, but the first conversion device 110 and the second conversion device 120 can be independent devices. .
  • the first conversion device 110 and the second conversion device 120 are described as separate devices for ease of explanation of the functions.
  • the key generation device 140 uses the randomly selected n ⁇ n-dimensional nonsingular matrix as the first nonsingular matrix, and transmits this first nonsingular matrix as the registration key matrix A to the first conversion device 110 . Further, the key generation device 140 uses another randomly selected n ⁇ n regular matrix as a second regular matrix, and transmits this second regular matrix as a verification key matrix B to the second conversion device 120 . Then, key generation device 140 generates auxiliary key matrix M from the matrix product of the inverse matrix of the registration key matrix and the inverse matrix of the verification key matrix, and transmits the auxiliary key matrix to verification device 130 .
  • a method of selecting a random regular matrix there is a method of preparing a list of n ⁇ n-dimensional regular matrices and uniformly selecting one from the list. Further, for example, there is a method in which an irregular matrix is excluded from a square matrix in which random numbers of the square of the natural number n are assigned to each element. Irregular matrices can be excluded by, for example, excluding those whose determinant is zero. Also, the random number assigned to each element may be a so-called pseudo-random number sequence. Pseudorandom number sequences a 1 , a 2 , . is substantially impossible.
  • the first conversion device 110 generates a registered feature quantity vector of the order of a predetermined natural number n from the registered information.
  • registered information includes features extracted from images such as faces, irises, fingerprints, palm prints, veins of fingers and palms, and features extracted from voice data such as voice prints. Patterns such as fingerprints and palm prints have characteristic patterns called minutiae.
  • the first conversion device 110 may generate a registered feature amount vector. Note that the registered feature amount vector may be generated by simply arranging the feature amounts extracted from the registered information, but it is possible to devise the structure of the registered feature amount vector as described later.
  • the first conversion device 110 generates a registration confidentiality vector by calculating the product of the registration feature amount vector and the registration key matrix A.
  • the product of the registered feature quantity vector and the registered key matrix A is the product of a matrix and a vector as linear algebra.
  • the order of the regular matrix is the same as the order of the registered feature quantity vector, and if the order of the registered feature quantity vector is a natural number n, the regular matrix is an n ⁇ n matrix.
  • each value of the feature quantity is multiplied by a constant, then rounded to an integer, and the inner product of the rounded feature quantity is set to the maximum possible value or more by modulo p, which reduces the inner product. It is possible to calculate with accuracy deterioration.
  • the first conversion device 110 transmits the registration concealment vector generated as described above to the verification device 130 and registers it in the storage device 131 of the verification device 130 .
  • the storage device 131 may be provided inside the collation device 130 , but the storage device 131 may be provided outside the collation device 130 .
  • the second conversion device 120 generates a matching feature amount vector from the matching information.
  • a method of generating a matching feature vector from matching information is the same as a method of generating a registered feature vector from registration information. That is, a collation feature amount vector is generated from the feature amount extracted from the collation information.
  • the second conversion device 120 generates a matching confidentiality vector by calculating the product of the matching feature quantity vector and the matching key matrix B.
  • the product of the matching feature quantity vector and the matching key matrix B at this time is also the same as the product of the registered feature quantity vector and the registered key matrix, and is the product of a matrix and a vector as linear algebra. That is, the second conversion device 120 differs from the first conversion device 110 in that it uses the matching key matrix B instead of the registration key matrix A used to generate the registration secret vector. Therefore, as described above, the first conversion device 110 and the second conversion device 120 can be shared by the same device.
  • the second conversion device 120 transmits the verification concealment vector generated as described above to the verification device 130 .
  • the matching device 130 calculates the vector-matrix product of the matching confidentiality vector received from the second conversion device 120, the registered confidentiality vector registered in the storage device 131, and the auxiliary key matrix M. As will be described later, the calculation of this inner product corresponds to the inner product of the registered feature amount vector and the matching feature amount vector.
  • the inner product of the registration feature vector and the matching feature vector is the similarity between the registration information and the matching information. can be judged to be consistent.
  • the matching result of the registration information and the matching information may be transmitted from the matching device 130 to the second conversion device 120, but it can also be used as a trigger for another process.
  • the registration key matrix A is a randomly selected n ⁇ n regular matrix.
  • the matching key matrix B is also a randomly selected n ⁇ n regular matrix.
  • the auxiliary key matrix M is the inverse matrix (BA) ⁇ 1 of the matrix product BA of the registration key matrix A and the verification key matrix B. Since the registration key matrix A and the verification key matrix B are regular matrices, the auxiliary key matrix M is also a regular matrix.
  • a vector-matrix product of the registration secret vector, the auxiliary key matrix and the verification secret vector is calculated.
  • t T Ms may be calculated for the registration confidentiality vector t, the auxiliary key matrix M, and the matching confidentiality vector s.
  • the auxiliary key matrix M is (BA) ⁇ 1 , and the result of this calculation matches the inner product of the registration feature amount vector x and the matching feature amount vector y as follows.
  • An inner product ⁇ x, y> of the registered feature amount vector x and the matching feature amount vector y is an index indicating the degree of similarity.
  • normalized correlation is often used as a measure of vector similarity.
  • the normalized correlation is just the inner product.
  • the inner product ⁇ x, y> of the registered feature amount vector x and the matching feature amount vector y is the degree of similarity (that is, the original two vectors can be used as an indicator of the normalized correlation of
  • Euclidean distance is often used as an index of similarity between vectors.
  • a smaller normalized correlation indicates similarity, and a larger value indicates dissimilarity.
  • the inner product of T is the Euclidean distance itself.
  • the registered feature vector and matching feature vector are x' and y', respectively, the registered feature vector x' and matching feature vector y' are The inner product ⁇ x', y'> can be used as an indicator of similarity (ie, Euclidean distance between two vectors x and y).
  • the Hamming distance is often used as an index of similarity between binary vectors (that is, vectors whose components are 0 or 1).
  • the registered feature amount vector and the matching feature amount vector are x' and y' respectively, the registered feature amount vector x' and the matching feature amount vector y' are The inner product ⁇ x', y'> can be used as an indicator of similarity (ie Hamming distance between two vectors x and y).
  • Another two randomly selected regular matrices ⁇ A and ⁇ B are prepared. These regular matrices ⁇ A and ⁇ B are also n ⁇ n matrices like the registration key matrix and the verification key matrix. In updating the keys, the registration key matrix A and the verification key matrix B are multiplied by the other regular matrices ⁇ A and ⁇ B .
  • the new registration key matrix is A ⁇ A
  • the new verification key matrix is ⁇ BB .
  • the new auxiliary key matrix M (BA) ⁇ 1
  • the registration concealment vector ( A ⁇ A ) T x and the new auxiliary key matrix ⁇ A ⁇ 1 M ⁇ B ⁇ 1 and the matching concealment Calculation of the product of the vector and the matrix in the vector ⁇ B By coincides with the inner product of the registration feature quantity vector x and the matching feature quantity vector y.
  • the already registered registration concealment vector is also updated.
  • the already registered registered feature vector is anonymized using the original registration key matrix A, so that the already registered feature vector can be verified using the new verification key matrix ⁇ BB .
  • update the registration concealment vector Specifically, assuming that the registration privacy vector encrypted using the original registration key matrix A is A T x, ⁇ A T (A T x) is the updated registration privacy vector.
  • a new verification key matrix ⁇ B Update the original registered feature vector so that it can be matched using B.
  • the original registered feature vector is updated, It is possible to make matching impossible without using a new matching key matrix.
  • invalidation means that it is impossible to determine whether or not the registration concealment vector and the matching concealment vector generated using different keys are created from the same feature value unless other information is leaked. is.
  • (matching method) 2 to 4 are system flow diagrams showing the matching method according to the first embodiment.
  • the verification method shown in FIGS. 2 to 4 uses a key distributed by the key generation device 140 to compare the registration information input to the first conversion device 110 and the verification information input to the second conversion device 120 into a verification device. 130, the first conversion device 110 and the second conversion device 120 can be shared by the same device.
  • the first conversion method shown in FIG. 3 and the second conversion method shown in FIG. 4 can be repeated independently in any order. That is, the first conversion method shown in FIG. 3 can be repeated as many times as the number of pieces of registration information to be registered, and the matching method shown in FIG. It can be done in time.
  • steps S1 to S3 are performed during key generation.
  • the key generation device 140 generates a registration key matrix and transmits the registration key matrix to the first conversion device 110 .
  • the key generation device 140 generates a verification key matrix and transmits the verification key matrix to the second conversion device 120 .
  • the key generation device 140 generates an auxiliary key matrix and transmits the auxiliary key matrix to the verification device 130 .
  • Each device stores these key matrices.
  • the first conversion device 110 generates a registered feature amount vector from the registered information.
  • the method of generating the registered feature amount vector from the registered information may be generated by simply arranging the feature amounts extracted from the registered information. It can be configured to obtain a linear correlation, Euclidean distance, or Hamming distance.
  • step S5 the first conversion device 110 generates a registration secret vector by calculating the product of the registration feature amount vector and the registration key matrix.
  • the configuration of the registration key matrix and the like have already been explained.
  • First conversion device 110 transmits the generated registration concealment vector to verification device 130 .
  • step S6 the verification device 130 registers the registration concealment vector received from the first conversion device 110 in the storage device 131.
  • steps S4 to S6 up to this point can be repeated by the number of pieces of registration information to be registered.
  • steps S7 to S9 are performed when the matching method according to the first embodiment is performed.
  • the second conversion device 120 generates a matching feature amount vector from the matching information.
  • a method of generating a matching feature vector from matching information may be generated by simply arranging feature values extracted from matching information in the same manner as the method of generating a registered feature vector from registered information. By devising the structure of the quantity vector, it is possible to obtain the normalized correlation, the Euclidean distance, and the Hamming distance.
  • step S8 the second conversion device 120 generates a matching confidentiality vector by calculating the product of the matching feature amount vector and the matching key matrix.
  • the relationship between the registration key matrix and the verification key matrix, the configuration of the verification key matrix, and the like have already been described.
  • the second conversion device 120 transmits the generated verification concealment vector to the verification device 130 .
  • step S9 the verification device 130 generates a vector of the verification encryption vector received from the second conversion device 120, the registered encryption vector registered in the storage device 131, and the auxiliary key matrix transmitted from the key generation device 140. By calculating the product of the matrix and the registration information and the matching information.
  • FIG. 5 is a diagram illustrating a hardware configuration example of a device used in the embodiment; That is, the first conversion device 110, the second conversion device 120, and the matching device 130 are executed by an information processing device (computer) having the hardware configuration shown in FIG. , the first conversion device 110, the second conversion device 120, and the matching device 130 can be realized.
  • the hardware configuration example shown in FIG. 5 is an example of the hardware configuration for realizing each function of the first conversion device 110, the second conversion device 120, and the matching device 130. It is not intended to limit the hardware configurations of the device 120 and the verification device 130 .
  • the first conversion device 110, the second conversion device 120, and the matching device 130 can include hardware not shown in FIG.
  • the hardware configuration 10 that can be adopted by the first conversion device 110, the second conversion device 120, and the matching device 130 includes, for example, a CPU (Central Processing Unit) 11, which is interconnected by an internal bus.
  • a main storage device 12 , an auxiliary storage device 13 , and an IF (Interface) section 14 are provided.
  • the CPU 11 executes each command included in the programs executed by the first conversion device 110, the second conversion device 120, and the matching device 130.
  • the main storage device 12 is, for example, a RAM (Random Access Memory), and temporarily stores various programs such as programs executed by the first conversion device 110, the second conversion device 120, and the matching device 130 for the CPU 11 to process. .
  • the auxiliary storage device 13 is, for example, a HDD (Hard Disk Drive), and stores various programs such as programs executed by the first conversion device 110, the second conversion device 120, and the collation device 130 in the medium to long term. Is possible. Various programs such as programs can be provided as program products recorded on a non-transitory computer-readable storage medium.
  • HDD Hard Disk Drive
  • the IF section 14 provides an interface for input/output between the first conversion device 110, the second conversion device 120, and the matching device 130, for example.
  • the information processing apparatus that employs the hardware configuration 10 as described above implements the functions of, for example, the first conversion device 110, the second conversion device 120, and the verification device 130 by executing the above-described matching method as a program. .
  • the key updating method is devised so that the auxiliary key matrix is configured to remain unchanged.
  • A be the original registration key matrix
  • B be the original matching key matrix
  • another two randomly selected regular matrices ⁇ A and ⁇ B are prepared, a new registration key matrix is A ⁇ A , and a new matching key matrix is ⁇ B B and the new auxiliary key matrix is ⁇ A ⁇ 1 M ⁇ B ⁇ 1 , the key can be updated.
  • the new registration key matrix is A ⁇ A
  • the key update method is devised so that the registration key matrix is configured to remain unchanged.
  • A be the original registration key matrix
  • B be the original matching key matrix
  • another two randomly selected regular matrices ⁇ A and ⁇ B are prepared, a new registration key matrix is A ⁇ A , and a new matching key matrix is ⁇ B B and the new auxiliary key matrix is ⁇ A ⁇ 1 M ⁇ B ⁇ 1 , the key can be updated.
  • the elements of one regular matrix ⁇ B are random numbers
  • the new matching key matrix is ⁇ B B
  • the regular matrix ⁇ A is the identity matrix.
  • the key updating method is devised so that the matching key matrix is configured to be unchanged.
  • A be the original registration key matrix
  • B be the original matching key matrix
  • another two randomly selected regular matrices ⁇ A and ⁇ B are prepared, a new registration key matrix is A ⁇ A , and a new matching key matrix is ⁇ B B and the new auxiliary key matrix is ⁇ A ⁇ 1 M ⁇ B ⁇ 1 , the key can be updated.
  • the elements of one regular matrix ⁇ A are random numbers
  • the new registration key matrix is A ⁇ A
  • the regular matrix ⁇ A is the identity matrix.
  • Registration is performed at a dedicated terminal placed at a specific location such as a store, authentication is performed by extracting biometric information using a smartphone, etc., and matching with the registered information is performed on the server of the service provider.
  • the form of usage that will be In this case, it is easy to update the registration key and auxiliary key under the control of the service provider, but the verification key widely distributed in the form embedded in smartphone applications, etc., cannot be updated without the cooperation of each user. Have difficulty. In such a mode of use, updating the key while keeping the matching key matrix B unchanged can increase the possibility of updating the key.
  • [Fifth embodiment] 4th Embodiment described below is an embodiment which improved the safety
  • the key leakage resistance can be improved more than in the first embodiment. For example, if a plurality of sets of registered feature vectors and corresponding registered concealment vectors are leaked due to unforeseen circumstances, the registered key matrix may be guessed from the leaked plurality of registered feature vectors and registered concealment vectors. . This is also the case when the set of matching feature vectors and matching confidentiality vectors is leaked.
  • the n 2 +2n variables are the sum of n variables in the registered feature vector x, n variables in the registered confidentiality vector t, and n 2 variables in the registered key matrix A.
  • the registration key matrix cannot be specified if the number k of pairs of leaked registration feature vectors and registration concealment vectors is k ⁇ n.
  • the same registration key matrix A is used to generate a registration secret vector for less than n sets, and if there are more than n sets, a new registration key matrix A is used. Then, at the time of verification, a verification key matrix corresponding to each registration key matrix is used to generate a verification encryption vector, and each verification encryption vector is compared with the registration encryption vector. Furthermore, if the number of times of matching using the same matching key matrix is n or more, there is a possibility that the matching key matrix B will be leaked from the combination of the matching feature vector and the matching concealment vector. update the collation key matrix B to .
  • A1 be the registration key matrix used for the 1st to 10th registered feature amount vectors
  • A2 be the registration key matrix used for the 11th to 20th registered feature amount vectors
  • A10 be the registration key matrix used for the 91st to 100th registration feature quantity vectors.
  • the registration concealment vector generated using these registration key matrices is as follows.
  • a matching concealment vector is generated for one matching feature amount vector using matching key matrices B 1 , . . . , B 10 corresponding to each registration key matrix A 1 , . That is, the matching confidentiality vectors generated from the matching feature vector y are B 1 y, B 2 y, . . . , B 10 y. Then, these matching secret vector B i y and each registration secret vector A i T x j are each compared.
  • the number of registration concealment vectors using the same registration key matrix is set to be less than a predetermined natural number n, and the second conversion device performs matching using the same matching key matrix.
  • the matching key matrix By updating the matching key matrix so that the number of times does not exceed the predetermined natural number n, a combination of a registration feature vector and a registration concealment vector for the same registration key matrix or a matching feature vector and a matching concealment for the same matching key matrix are generated. Vulnerability due to leakage of n or more sets of information vectors can be prevented.
  • a sixth embodiment to be described below is also an embodiment in which safety is further enhanced.
  • the order n of the registered feature quantity vector and the order n of the registered key matrix are the same. Therefore, if a configuration in which feature values are simply arranged is adopted as the configuration of the registered feature vector, security such as key leakage resistance is limited by the number of feature values. Therefore, in the sixth embodiment, a device is devised so that the security can be improved without being restricted by the number of feature amounts.
  • the two orthogonal vectors x' and y' to be added can be configured as follows.
  • the first method is that one of x' and y' has all elements of random numbers, the other consists of random numbers except for one element, and the remaining one element is composed of two vectors x' and y'. are adjusted so that they are orthogonal to each other.
  • x' and y' are determined at the time of key generation, and the same x' and y' are used each time in the registration flow.
  • x' is a vector in which p' random numbers and pp' 0s are arranged, and y' is p' 0s and p ⁇ P′ random numbers are arranged as a vector.
  • q is determined during key generation or prior setup, and random numbers included in x' and y' are independently selected during secret vector generation.
  • the third method is, as shown in FIG. 7, for p′ that is 2 or more and p ⁇ 2 or less, x′ is p′ fixed random numbers and pp′ ⁇ 1 are independently selected each time. y' is p'-1 random numbers that are independently selected each time, one value for balance adjustment, and pp' fixed random numbers are arranged. vector.
  • fixed random number vectors (r 1 , r 2 , . . . , r p' ) and (q p'+1 , q p'+2 , . . Random number vectors (r p′+1 , r p′+2 , . . .
  • the degree of the feature quantity is m
  • an orthogonal vector of degree p is added, the degree n of the registration key matrix and the verification key matrix can be expanded to m+p.
  • a random number component that is independently selected each time is added to both the registration feature amount vector and the matching feature amount vector. This makes it possible to improve the leakage resistance of the key and the original feature quantity vector.
  • the table below shows the key leakage resistance.
  • the configurations of the registered feature vector and the matching feature vector are devised so that the inner product of the registered feature vector and the matching feature vector is the score between the registration information and the matching information with reference to the score table. configured to
  • a method of giving a score by referring to a score table may be adopted.
  • a score is assigned to each value of each element of the vector in the score table for the vector of the feature amount, and the sum of the scores for all the elements is the final score.
  • the score value can be obtained by calculation by expressing each value of the feature amount as a vector converted to the position where 1 is stored in the element.
  • the vector representation of each value of the feature amount represents each component i ⁇ [0, L] of the feature amount as an L+1-dimensional vector in which the i-th dimension is 1 and the others are 0.
  • table lookup calculation using the above table can be expressed using matrix operations as follows.
  • score table is expressed in matrix C as follows, score ((0, 0, 0), (0, 1, 1)) ⁇ x', Cy'>.
  • FIG. 6 is a schematic configuration diagram of a matching system according to the seventh embodiment.
  • the verification system 200 according to the seventh embodiment has many common configurations with the verification system 100 according to the first embodiment. Therefore, the description of the verification system 200 according to the seventh embodiment will be omitted as appropriate, but the omitted description shall be common to the verification system 100 according to the first embodiment.
  • the verification system 200 uses the key distributed by the key generation device 240 to match the registration information input to the first conversion device 210 and the verification information input to the second conversion device 220 into a verification device. 230 is used to match.
  • the key generation device 240 generates a randomly selected first nonsingular matrix of order of a predetermined natural number n, and transmits this first nonsingular matrix as a registration key matrix A to the first conversion device 210 . Further, the key generation device 240 generates a randomly selected second regular matrix of order of a predetermined natural number n, and transmits this second regular matrix as a matching key matrix B to the second conversion device 220 . Then, the key generation device 240 generates an auxiliary key matrix M from the matrix product of the registration key matrix and the verification key matrix, and transmits the auxiliary key matrix to the verification device 230 .
  • the score table matrix C is formed by arranging score tables to be referred to diagonally.
  • the first conversion device 210 generates a registered feature amount vector x' from the registered information.
  • the first conversion device 210 expresses each component i ⁇ [0, L] in the registration information as an L+1-dimensional vector in which the i-th dimension is 1 and the others are 0.
  • each component is expressed as a vector, and these are connected to generate a registration feature amount vector x'.
  • the first conversion device 210 generates a registration secret vector by calculating the product of the registration feature amount vector and the registration key matrix A.
  • the first conversion device 210 transmits the generated registration concealment vector to the verification device 230 and registers it in the storage device 231 of the verification device 230 .
  • the storage device 231 may be provided inside the verification device 230 , but the storage device 231 may be provided outside the verification device 230 .
  • the second conversion device 220 generates a matching feature amount vector y' from the matching information, and calculates the product of the matching feature amount vector and the matching key matrix B to obtain a matching confidentiality vector. to generate The second conversion device 220 transmits the generated verification concealment vector to the verification device 230 .
  • the verification device 230 calculates the vector-matrix product of the verification secret vector received from the second conversion device 220, the registration secret vector registered in the storage device 231, and the auxiliary key matrix M.
  • FIG. The calculation of the product here can be performed by calculating x' T My' with respect to the registration confidentiality vector x', the auxiliary key matrix M, and the verification confidentiality vector y'. This calculation result matches the score (x, y) of the registration information x and the verification information y calculated with reference to the score table incorporated in the score table matrix C.
  • a T x′) T M(By′) x′ T (AA ⁇ 1 CB ⁇ 1 B)
  • y′ x′ T
  • the matching system 200 can match registered information and matching information with reference to the score table.
  • the key generation device 240 transmits to the verification device 230 in the form of a matrix product in which the information of the score table is inserted between the randomly selected registration key matrix A and the verification key matrix B, so that it is substantially encrypted. It is In other words, it is possible to collate the registered information and the collation information while keeping the information of the score table confidential.
  • the score table information is included only in the auxiliary key matrix M, even if there are a plurality of score tables, the same registration confidentiality vector x' and verification confidentiality vector y' are used. be able to. That is, even if there are a plurality of score tables, there is no need to store separate registration secret vectors x′ in the verification device 230 . In addition, even if there are a plurality of score tables, the same registration encryption vector x' and matching encryption vector y' can be calculated, so the score tables can be generated in a time independent of the number of score tables.
  • the verification system 200 described above can also update the key in the same manner as in the first embodiment.
  • Another two randomly selected regular matrices ⁇ A and ⁇ B are prepared.
  • a new registration key matrix is A ⁇ A
  • a new verification key matrix is ⁇ BB .
  • the registration concealment vector (A ⁇ A ) T x′ and the new auxiliary key matrix ⁇ A ⁇ 1 M ⁇ B ⁇ 1 can be compared with each other.
  • the score score (x, y ) By calculating the vector-matrix product of the secret vector ⁇ B By′, the score score (x, y ).
  • the already registered registration concealment vector is also updated.
  • a T x is the registration encryption vector encrypted using the original registration key matrix A
  • ⁇ A T (A T x') is the updated registration encryption vector.
  • the key is updated with the auxiliary key matrix M unchanged and the registration key matrix A is unchanged. Keys can be renewed.
  • this embodiment enhances security by extending the registration concealment vector x' and the matching concealment vector y' with vectors having random numbers as elements.
  • (r 1 , r 2 , ..., r p ) and (s 1 , s 2 , ..., sp ) are vectors having random numbers as elements, and (r 1 , r . _ _ _ _ _ _ be (y'
  • a randomly selected first regular matrix is generated as a registration key matrix
  • a randomly selected second regular matrix is generated as a matching key matrix
  • an auxiliary key is obtained from the matrix product of the registration key matrix and the matching key matrix.
  • a key generation device that generates a matrix
  • a first conversion device for generating a registered feature quantity vector from input registration information, and calculating a product of the registered feature quantity vector and the registration key matrix received from the key generation device to generate a registration confidentiality vector
  • a second conversion device that generates a verification feature vector from input verification information, and calculates a product of the verification feature vector and the verification key matrix received from the key generation device to generate a verification confidentiality vector
  • a verification device that verifies the registration information and the verification information
  • Matching system with [Appendix 2] The verification system according to appendix 1, wherein the key generation device updates the registration key matrix and the verification key matrix while keeping the auxiliary key matrix unchanged.
  • auxiliary key matrix obtained from a matrix product obtained by inserting a score table matrix expressing a score table in a matrix between the registration key matrix and the verification key matrix. matching system.
  • Appendix 7 7.
  • the matching system according to appendix 6, wherein the registered feature amount vector and the matching feature amount vector are vector representations converted to positions in which 1 is stored in each value element of the feature amount.
  • Appendix 8 8.
  • Appendix 9 9.
  • the verification device includes a storage device for storing the registration secret vector received from the first conversion device.
  • Appendix 10 a first conversion device that generates a registered feature vector from input registration information and calculates a product of the registered feature vector and the registration key matrix to generate a registration confidentiality vector; a second conversion device that generates a verification feature vector and calculates a product of the verification feature vector and a verification key matrix to generate a verification confidentiality vector; and the registration confidentiality vector received from the first conversion device.
  • a generator generating a randomly selected first regular matrix as the registration key matrix; Generate a randomly selected second regular matrix as a matching key matrix,
  • a key generation device that generates an auxiliary key matrix from a matrix product of the registration key matrix and the verification key matrix.
  • Appendix 11 11.
  • the key generation device according to appendix 10 which updates the registration key matrix and the matching key matrix while keeping the auxiliary key matrix unchanged.
  • Appendix 12 11.
  • the key generation device according to appendix 10 which updates the matching key matrix and the auxiliary key matrix while keeping the registration key matrix unchanged.
  • Appendix 13 13.
  • a key generation device that generates a registration key, a verification key, and an auxiliary key; a registration feature vector that is generated from input registration information; and registration concealment from the registration feature vector and the registration key that is received from the key generation device. a first converting device for generating a vector; and a second converting device for generating a verification feature vector from input verification information and generating a verification confidentiality vector from the verification feature vector and the verification key received from the key generation device.
  • a verification device that verifies the registration information and the verification information using a conversion device, a result of matching the registration information and the verification information from the registration encryption vector received from the first conversion device, the verification encryption vector received from the second conversion device, and the auxiliary key received from the key generation device; Computing matcher.
  • a randomly selected first regular matrix is generated as a registration key matrix
  • a randomly selected second regular matrix is generated as a matching key matrix
  • an auxiliary key is obtained from the matrix product of the registration key matrix and the matching key matrix.
  • a key generation device for generating a matrix, a registered feature quantity vector is generated from input registration information, and registration concealment is performed by calculating the product of the registered feature quantity vector and the registration key matrix received from the key generation device.
  • a first conversion device that generates a vector
  • a verification feature vector that generates a verification feature vector from input verification information
  • a verification device that verifies the registration information and the verification information using a second conversion device that generates a secret vector
  • a collation device for collating registration information with the collation information.
  • a key generation device that generates a matrix, a verification feature vector that generates a verification feature vector from input verification information, and a verification and concealment method that calculates the product of the verification feature vector and the verification key matrix received from the key generation device.
  • a second conversion device for generating a vector; and a matching device for calculating a vector-matrix product of the verification encryption vector and the registration encryption vector received from the second conversion device and the auxiliary key matrix received from the key generation device.
  • a key generation device for generating a matrix, a registered feature quantity vector is generated from input registration information, and registration concealment is performed by calculating the product of the registered feature quantity vector and the registration key matrix received from the key generation device.
  • a vector-matrix product of a first conversion device that generates a vector, the registration secret vector received from the first conversion device, the input verification secret vector, and the auxiliary key matrix received from the key generation device and a second conversion device for transmitting the match concealment vector to the matcher for a matching method using generating a matching feature vector from input matching information, calculating a product of the matching feature vector and the matching key matrix received from the key generation device to generate the matching concealment vector, and generating the matching concealment vector;
  • a second conversion device for sending a vector to the matching device.
  • a verification method for verifying registration information input to a first conversion device and verification information input to a second conversion device using a key distributed by a key generation device The key generation device generates a randomly selected first regular matrix as a registration key matrix, The key generation device generates a randomly selected second regular matrix as a matching key matrix, The key generation device generates an auxiliary key matrix from the matrix product of the registration key matrix and the matching key matrix, The first conversion device generates a registered feature vector from the registered information, The first conversion device generates a registration secret vector by calculating the product of the registration feature vector and the registration key matrix, The second conversion device generates a matching feature vector from the matching information, The second conversion device generates a matching confidentiality vector by calculating the product of the matching feature vector and the matching key matrix, A verification method, wherein a verification device verifies the registration information and the verification information by calculating a vector-matrix product of the registration secret vector, the verification secret vector, and the auxiliary key matrix.
  • a randomly selected first regular matrix is generated as a registration key matrix
  • a randomly selected second regular matrix is generated as a matching key matrix
  • an auxiliary key is obtained from the matrix product of the registration key matrix and the matching key matrix.
  • a first conversion device that generates a vector; a verification feature vector that generates a verification feature vector from input verification information; A matching method for matching the registered information and the matching information using a second conversion device that generates a secret vector, The registration information and the A matching method for matching with the matching information.
  • a randomly selected first regular matrix is generated as a registration key matrix, a randomly selected second regular matrix is generated as a matching key matrix, and an auxiliary key is obtained from the matrix product of the registration key matrix and the matching key matrix.
  • a key generation device that generates a matrix, a verification feature vector that generates a verification feature vector from input verification information, and a verification and concealment method that calculates the product of the verification feature vector and the verification key matrix received from the key generation device.
  • a second conversion device for generating a vector; and a matching device for calculating a vector-matrix product of the verification encryption vector and the registration encryption vector received from the second conversion device and the auxiliary key matrix received from the key generation device.
  • any numerical range recited herein should be construed as specifically recited for any numerical value or subrange within that range, even if not otherwise stated.
  • each disclosure item of the above-cited document can be used in combination with the items described in this document as part of the disclosure of the present invention in accordance with the spirit of the present invention, if necessary. are considered to be included in the disclosure of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Collating Specific Patterns (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する照合装置とを備える照合システム。

Description

照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法
 本発明は、照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法に関するものである。
 個人認証の一例として、生体認証がある。生体認証は、被認証者の生体情報と、被認証者の生体情報とを照合することにより、被認証者と被認証者とが一致するか否かを確認する個人認証の手法である。ここで、生体情報とは、身体や行動に関する個人の一部の特徴から抽出されたデータである。例えば生体情報には、指紋や掌紋などの画像から特徴量を抽出したものや、声紋などのように音声データから特徴量を抽出したものなどが含まれる。
 生体認証では、被認証者の生体情報を事前に登録しておき、認証時には、登録されている生体情報と被認証者の生体情報とが一致するか否かを検証する。このとき、生体情報は高度な安全管理が求められている。なぜならば、生体情報は個人情報でもあり、漏洩自体が被害であることと、生体情報は漏洩したときに破棄・更新ができないので、同じ生体情報を用いる全ての認証システムの安全性を失うことになるからである。したがって、生体情報の保護基準として、サーバ管理者であっても元の生体情報を得ることができないことや、登録された生体情報を無効化できることなどが求められている。
 このような要求を充足する照合手法として、キャンセラブルバイオメトリクスがある。キャンセラブルバイオメトリクスとは、生体から抽出された特徴量を変換したまま照合を行う手法であり、登録時には、登録鍵Kを用いて特徴量xを変換T←F(x)を行い、照合時には、照合鍵K’を用いて特徴量yを変換T’←GK’(x)を行い、変換後のTとT’を照合することで、特徴量xと特徴量yの照合を行う手法である。
 このような仕組みを採用することにより、キャンセラブルバイオメトリクスでは、登録鍵Kおよび照合鍵K’を変更することで、登録データを無効化(キャンセル)し、新たな登録データに更新することが可能である。また、登録データや照合データは鍵を用いて特徴量を変換したものであるので、変換が十分な一方向性を有していればサーバ管理者であっても元の生体情報を得ることができず、生体認証にとって好適な性質を有している。このようなキャンセラブルバイオメトリクスの手法については各種のものが知られている(例えば、特許文献1,2および非特許文献1等参照)。
特許第4961214号公報 特許第4929136号公報
Y. Saito, I. Nakamura, S. Shiota and H. Kiya, "An Efficient Random Unitary Matrix for Biometric Template Protection," 2016 Joint 8th International Conference on Soft Computing and Intelligent Systems (SCIS) and 17th International Symposium on Advanced Intelligent Systems (ISIS), 2016, pp. 366-370
 なお、上記先行技術文献の各開示を、本書に引用をもって組み込むものとする。以下の分析は、本発明者らによってなされたものである。
 ところで、キャンセラブルバイオメトリクスの手法についても、更なる安全性が求められている。その理由の一つに、従来技術におけるキャンセラブルバイオメトリクスには変換の一方向性が不十分なものがあることが挙げられる。一方向性の変換であれば、登録データや照合データから元の特徴量を一意に特定することはできないのであるが、登録データや照合データが元の特徴量に関する情報を漏らしていることがある。そのような場合、登録データや照合データから元の特徴量を推測されてしまうという脆弱性となってしまう。
 また、登録データや照合データと元の特徴量の組が漏洩してしまうという事態も想定され、そのような場合、登録データや照合データと元の特徴量の組から登録鍵ないし照合鍵が推定されてしまう虞もある。登録データや照合データと元の特徴量の組が漏洩してしまっても安全性が担保されていることが好ましい。また、一般的なキャンセラブルバイオメトリクスでは、登録鍵を照合鍵としても用いていることが多い。このことは、登録鍵および照合鍵のいずれかが漏洩した場合に他方の鍵も漏洩してしまうことになる。
 本発明の目的は、上述した課題を鑑み、キャンセラブルバイオメトリクスの安全性を向上させることに寄与する照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法を提供することである。
 本発明の第1の視点では、ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する照合装置と、を備える照合システムが提供される。
 本発明の第2の視点では、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと補助鍵行列とにおけるベクトルと行列の積を計算する照合装置とを用いて、前記登録情報と前記照合情報とを照合するための鍵を生成する鍵生成装置であって、ランダムに選んだ第1の正則行列を前記登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置が提供される。
 本発明の第3の視点では、登録鍵と照合鍵と補助鍵を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵とから登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵とから照合秘匿ベクトルを生成する第2変換装置とを用いて、前記登録情報と前記照合情報とを照合する照合装置であって、前記第1変換装置から受信した前記登録秘匿ベクトルと、前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵とから前記登録情報と前記照合情報との照合結果を計算する照合装置が提供される。
 本発明の第4の視点では、ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置とを用いて、前記登録情報と前記照合情報とを照合する照合装置であって、
 前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する照合装置が提供される。
 本発明の第5の視点では、ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第2変換装置から受信した照合秘匿ベクトルと登録秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記登録秘匿ベクトルを登録する第1変換装置であって、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより前記登録秘匿ベクトルを生成し、前記登録秘匿ベクトルを前記照合装置に送信する第1変換装置が提供される。
 本発明の第6の視点では、ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと入力された照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記照合秘匿ベクトルを送信する第2変換装置であって、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより前記照合秘匿ベクトルを生成し、前記照合秘匿ベクトルを前記照合装置に送信する第2変換装置が提供される。
 本発明の第7の視点では、鍵生成装置が配布する鍵を用いて、第1変換装置に入力された登録情報と第2変換装置に入力された照合情報とを照合する照合方法であって、前記鍵生成装置が、ランダムに選んだ第1の正則行列を登録鍵行列として生成し、前記鍵生成装置が、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記鍵生成装置が、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成し、前記第1変換装置が、前記登録情報から登録特徴量ベクトルを生成し、前記第1変換装置が、前記登録特徴量ベクトルと前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成し、前記第2変換装置が、前記照合情報から照合特徴量ベクトルを生成し、前記第2変換装置が、前記照合特徴量ベクトルと前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成し、前記照合装置が、前記登録秘匿ベクトルと前記照合秘匿ベクトルと前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する、照合方法が提供される。
 本発明の第8の視点では、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと補助鍵行列とにおけるベクトルと行列の積を計算する照合装置とを用いて、前記登録情報と前記照合情報とを照合するための鍵生成方法であって、ランダムに選んだ第1の正則行列を前記登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成方法が提供される。
 本発明の第9の視点では、ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置とを用いて、前記登録情報と前記照合情報とを照合する照合方法であって、前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する照合方法が提供される。
 本発明の第10の視点では、ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第2変換装置から受信した照合秘匿ベクトルと登録秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記登録秘匿ベクトルを登録する第1変換方法であって、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより前記登録秘匿ベクトルを生成し、前記登録秘匿ベクトルを前記照合装置に送信する第1変換方法が提供される。
 本発明の第11の視点では、ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと入力された照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記照合秘匿ベクトルを送信する第2変換方法であって、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより前記照合秘匿ベクトルを生成し、前記照合秘匿ベクトルを前記照合装置に送信する第2変換方法が提供される。
 本発明の各視点によれば、キャンセラブルバイオメトリクスの安全性を向上させることに寄与する照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法を提供することができる。
図1は、第1実施形態に係る照合システムの概略構成図である。 図2は、第1実施形態に係る鍵生成方法を示すシステムフロー図である。 図3は、第1実施形態に係る第1変換方法を示すシステムフロー図である。 図4は、第1実施形態に係る第2変換方法を示すシステムフロー図である。 図5は、実施形態に用いられる装置のハードウェア構成例を示す図である。 図6は、第7実施形態に係る照合システムの概略構成図である。 図7は、登録特徴量ベクトルと照合特徴量ベクトルの拡張例を示す図である。
 以下、図面を参照しながら、本発明の実施形態について説明する。ただし、以下に説明する実施形態により本発明が限定されるものではない。また、各図面において、同一または対応する要素には適宜同一の符号を付している。さらに、図面は模式的なものであり、各要素の寸法の関係、各要素の比率などは、現実のものとは異なる場合があることに留意する必要がある。図面の相互間においても、互いの寸法の関係や比率が異なる部分が含まれている場合がある。
[第1実施形態]
 図1は、第1実施形態に係る照合システムの概略構成図である。図1に示すように照合システム100は、鍵生成装置140が配布する鍵を用いて、第1変換装置110に入力された登録情報と第2変換装置120に入力された照合情報とを照合装置130を用いて照合する。なお、第1変換装置110と第2変換装置120は、同一装置に共通化することが可能であるが、第1変換装置110と第2変換装置120を独立の装置とすることも可能である。ここでは機能の説明を容易にするために第1変換装置110と第2変換装置120を別の装置として説明する。
 鍵生成装置140は、ランダムに選んだn×n次元の正則行列を第1の正則行列とし、この第1の正則行列を登録鍵行列Aとして第1変換装置110に送信する。さらに鍵生成装置140は、ランダムに選んだもう一つのn×n次元の正則行列を第2の正則行列とし、この第2の正則行列を照合鍵行列Bとして第2変換装置120に送信する。そして、鍵生成装置140は、登録鍵行列の逆行列と照合鍵行列の逆行列との行列積から補助鍵行列Mを生成し、補助鍵行列を照合装置130に送信する。
 ここで、ランダムな正則行列の選び方は、n×n次元の正則行列のリストを用意しておきその中から一様ランダムに一つ選択して得る方法がある。また例えば、自然数nの2乗個の乱数を各要素に割り当てた正方行列から非正則行列を除外したものとする方法もある。非正則行列を除外するには、例えば行列式がゼロとなるものを除外すればよい。また、各要素に割り当てる乱数は、いわゆる疑似乱数列としてもよい。疑似乱数列a,a,…,aは、一般にシードの入力に対して確定的な計算によって生成されるが、a,a,…,am-1からaを予測することが実質的に不可能となるように構成する。
 また、補助鍵行列のみから登録鍵行列及び照合鍵行列の情報を漏洩することはないことに注意する。すなわち、補助鍵行列が分かっていても、登録鍵行列や照合鍵行列の候補はn×n次元の全ての正則行列のままである。
 第1変換装置110は、登録情報から所定の自然数nの次数の登録特徴量ベクトルを生成する。例えば登録情報には、顔や虹彩、指紋、掌紋、指や掌の静脈などの画像から特徴量を抽出したものや、声紋などのように音声データから特徴量を抽出したものなどがある。指紋や掌紋などの紋様にはマニューシャと呼ばれる特徴的紋様がある。これらを数値したものを用いて第1変換装置110は登録特徴量ベクトルを生成してもよい。なお、登録特徴量ベクトルは、登録情報から抽出した特徴量を単純に並べることで生成してもよいが、後述するように登録特徴量ベクトルの構成に工夫をすることが可能である。
 第1変換装置110は、登録特徴量ベクトルと登録鍵行列Aとの積を計算することにより登録秘匿ベクトルを生成する。ここで、登録特徴量ベクトルと登録鍵行列Aとの積とは、線形代数としての行列とベクトルの積のことである。なお、正則行列の次数は、登録特徴量ベクトルの次数と同じであり、登録特徴量ベクトルの次数が自然数nであれば、正則行列はn×n行列である。
 なお、特徴量及び行列の各値には実数を用いることが可能である。すなわち、元の特徴量が実数の場合、実数のまま計算することができるので、精度をほとんど落とさずに特徴量の内積を計算可能である。また、特徴量及び行列の各値としてある範囲の整数を用いることも可能である。法が素数であるモジュラ計算では、足し算、引き算、掛け算は通常の足し算、引き算、掛け算の結果をpで割った余りとなり、掛け算した結果をpで割った余りが1となる数を逆数と定義でき、逆行列の計算もすることができるからである。このようにある範囲の整数を用いる場合、特徴量の各値を定数倍してから整数に丸め、法pとして丸めた特徴量の内積の取りうる値の最大値以上にすれば、内積を少ない精度劣化で計算可能である。
 第1変換装置110は、上記のように生成した登録秘匿ベクトルを照合装置130へ送信し、照合装置130における記憶装置131に登録する。なお、記憶装置131は照合装置130の内部に備えていても良いが、記憶装置131が照合装置130の外部にあってもよい。
 第2変換装置120は、照合情報から照合特徴量ベクトルを生成する。照合情報から照合特徴量ベクトルを生成する方法は、登録情報から登録特徴量ベクトルを生成する方法と同じである。すなわち、照合情報から抽出した特徴量から照合特徴量ベクトルを生成する。
 第2変換装置120は、照合特徴量ベクトルと照合鍵行列Bとの積を計算することにより照合秘匿ベクトルを生成する。このときの照合特徴量ベクトルと照合鍵行列Bとの積も、登録特徴量ベクトルと登録鍵行列との積と同じで、線形代数としての行列とベクトルの積のことである。つまり、第2変換装置120は、登録秘匿ベクトルを生成する場合に用いた登録鍵行列Aの代わりに、照合鍵行列Bを用いるという点で第1変換装置110とは異なっている。したがって、先述したように、第1変換装置110と第2変換装置120は、同一装置に共通化することが可能である。
 第2変換装置120は、上記のように生成した照合秘匿ベクトルを照合装置130へ送信する。
 照合装置130は、第2変換装置120から受信した照合秘匿ベクトルと記憶装置131に登録されている登録秘匿ベクトルと補助鍵行列Mとにおけるベクトルと行列の積を計算する。後述するように、この内積の計算は、登録特徴量ベクトルと照合特徴量ベクトルとの内積に一致する。登録特徴量ベクトルと照合特徴量ベクトルとの内積は、登録情報と照合情報との類似度になっているので、この類似度が所定の範囲内になっていれば、登録情報と照合情報が一致していると判断することができる。なお、登録情報と照合情報の照合結果は、照合装置130が第2変換装置120へ送信しても良いが、別の処理のトリガーとして用いることも可能である。
 ここで、上記説明した照合システム100が機能する原理について説明する。
 まず、登録鍵行列Aは、ランダムに選んだn×n正則行列である。一方、照合鍵行列Bも、ランダムに選んだn×n正則行列である。また、補助鍵行列Mは、登録鍵行列Aと照合鍵行列Bとの行列積BAの逆行列(BA)-1とする。なお、登録鍵行列Aと照合鍵行列Bが正則行列であるので、補助鍵行列Mも正則行列である。
 登録情報から生成した登録特徴量ベクトルをxとし、照合情報から生成した照合特徴量ベクトルをyとする。すると、登録秘匿ベクトルtは、登録特徴量ベクトルxと登録鍵行列Aとの積であるので、t=Axであり、照合秘匿ベクトルsは、照合特徴量ベクトルと照合鍵行列Bとの積であるので、s=Bxである。なお、添え字Tは転置行列であることを意味する。これは、内積の計算を行列の積にするときに行列を転置する必要があるので事前に転置をしているものである。
 照合時には、登録秘匿ベクトルと補助鍵行列と照合秘匿ベクトルとにおけるベクトルと行列の積の計算が行われる。ここでの積の計算は、登録秘匿ベクトルt、補助鍵行列M、及び照合秘匿ベクトルsに対し、tMsを計算すればよい。ここで、補助鍵行列Mは(BA)-1であることに注意すると、以下のように、この計算結果は、登録特徴量ベクトルxと照合特徴量ベクトルyとの内積に一致する。
(Ax)M(By)=x(A(BA)-1B)y=x(AA-1-1B)y=xy=<x,y>
 そして、登録特徴量ベクトルxと照合特徴量ベクトルyの内積<x,y>は、類似度を示す指標である。例えば、正規化相関は、ベクトルの類似度の指標としてよく用いられる。二つのベクトルx=(x,x,…,xとy=(y,y,…,yの正規化相関は次式で定義される。この正規化相関は大きければ似ている、小さければ似ていないことを表している。次式で与えられる定義から解るように、二つのベクトルxとyが正規化されている場合、正規化相関は内積そのものである。したがって、登録特徴量ベクトルxと照合特徴量ベクトルyを正規化しておけば、登録特徴量ベクトルxと照合特徴量ベクトルyの内積<x,y>は、類似度(すなわち、元の二つのベクトルの正規化相関)を示す指標として用いることができる。
Figure JPOXMLDOC01-appb-M000001
 また例えば、ユークリッド距離もベクトルの類似度の指標としてよく用いられる。二つのベクトルx=(x,x,…,xとy=(y,y,…,yのユークリッド距離は次式で定義される。この正規化相関は小さければ似ている、大きければ似ていないことを表している。次式で与えられる定義から解るように、二つのベクトルx’=(Σx ,1,x,x,…,xとy’=(1,Σy ,-2y,-2y,…,-2yの内積はユークリッド距離そのものである。したがって、ユークリッド距離を計算したい二つのベクトルxとyに対し、登録特徴量ベクトルと照合特徴量ベクトルをそれぞれx’とy’とすれば、登録特徴量ベクトルx’と照合特徴量ベクトルy’の内積<x’,y’>は、類似度(すなわち、二つのベクトルxとyのユークリッド距離)を示す指標として用いることができる。
Figure JPOXMLDOC01-appb-M000002
 また例えば、ハミング距離は二値ベクトル(すなわち、各成分が0または1であるベクトル)の類似度の指標としてよく用いられる。二つのベクトルx=(x,x,…,xとy=(y,y,…,yのハミング距離は次式で定義される。この正規化相関は小さければ似ている、大きければ似ていないことを表している。次式で与えられる定義から解るように、二つのベクトルx’=(1,x,x,…,xとy’=(Σy,1-2y,1-2y,…,1-2yの内積はハミング距離そのものである。したがって、ハミング距離を計算したい二つのベクトルxとyに対し、登録特徴量ベクトルと照合特徴量ベクトルをそれぞれx’とy’とすれば、登録特徴量ベクトルx’と照合特徴量ベクトルy’の内積<x’,y’>は、類似度(すなわち、二つのベクトルxとyのハミング距離)を示す指標として用いることができる。
Figure JPOXMLDOC01-appb-M000003
 次に、上記説明した照合システム100では鍵を更新することができることを説明する。
 ランダムに選んだ別の2つの正則行列Δ、Δを用意する。この正則行列Δ、Δも登録鍵行列と照合鍵行列と同じくn×n行列である。鍵の更新では、この別の正則行列Δ、Δを登録鍵行列Aと照合鍵行列Bに掛ける。具体的には、元の登録鍵行列Aに対して、新しい登録鍵行列をAΔとし、元の照合鍵行列Bに対して、新しい照合鍵行列をΔBとする。また、元の補助鍵行列M=(BA)-1に対して、新しい補助鍵行列をΔ -1MΔ -1=Δ -1(BA)-1Δ -1とする。
 このように更新をした新しい登録鍵行列AΔと照合鍵行列ΔBとを用いても、登録秘匿ベクトル(AΔxと新しい補助鍵行列Δ -1MΔ -1と照合秘匿ベクトルΔByにおけるベクトルと行列の積の計算をすれば、登録特徴量ベクトルxと照合特徴量ベクトルyとの内積に一致する。
((AΔx)(Δ -1MΔ -1)(ΔBy)=x(AΔ(Δ -1MΔ -1)ΔB)y=x(AMB)y=x(AA-1-1B)y=xy=<x,y>
 さらに、鍵の更新では、既に登録されている登録秘匿ベクトルも更新する。つまり、既に登録されている登録特徴量ベクトルは、元の登録鍵行列Aを用いて秘匿化されているので、新しい照合鍵行列ΔBを用いて照合することができるように、既に登録されている登録秘匿ベクトルを更新する。具体的には、元の登録鍵行列Aを用いて秘匿化された登録秘匿ベクトルがAxであるとすると、Δ (Ax)が更新された登録秘匿ベクトルである。この更新された登録秘匿ベクトルΔ (Ax)が新しい登録鍵行列AΔを用いて秘匿化したものと同じであることは、Δ (Ax)=Δ x=(AΔxであることから解る。
 このようにして、照合システム100における鍵の更新では、既に登録されている登録特徴量ベクトルAxに、ランダムに選んだ別の正則行列Δ を掛けることにより、新しい照合鍵行列ΔBを用いて照合できるように元の登録特徴量ベクトルを更新する。このように、本実施形態の照合システム100では、情報漏洩などの不測の事態で既に登録されている登録特徴量ベクトルを無効化する必要がある場合に、元の登録特徴量ベクトルを更新し、新しい照合鍵行列を用いなければ照合できないようにすることができる。なお、ここで言う無効化とは、異なる鍵を用いて生成された登録秘匿ベクトルや照合秘匿ベクトルが同じ特徴量から作られたか否かの判別は、他の情報漏洩がなければ不可能ということである。
(照合方法)
 図2から図4は、第1実施形態に係る照合方法を示すシステムフロー図である。図2から図4に示す照合方法は、鍵生成装置140が配布する鍵を用いて、第1変換装置110に入力された登録情報と第2変換装置120に入力された照合情報とを照合装置130を用いて照合する照合システムであるが、第1変換装置110と第2変換装置120は、同一装置に共通化することが可能である。また、図3に示される第1変換方法と図4に示される第2変換方法は、独立に任意の順番で繰り返して実施することが可能である。すなわち、図3に示される第1変換方法は、登録すべき登録情報の数だけ繰り返して実施することが可能であり、図4に示される照合方法は、照合情報の認証を必要とする任意のタイミングで実施することが可能である。
 図2に示すように、鍵生成時には、ステップS1からステップS3を行う。ステップS1では、鍵生成装置140が登録鍵行列を生成し、登録鍵行列を第1変換装置110へ送信する。ステップS2では、鍵生成装置140が照合鍵行列を生成し、照合鍵行列を第2変換装置120へ送信する。ステップS3では、鍵生成装置140が補助鍵行列を生成し、補助鍵行列を照合装置130へ送信する。これら鍵行列は各装置が記憶しておく。
 図3に示すように、ステップS4では、第1変換装置110が、登録情報から登録特徴量ベクトルを生成する。登録情報から登録特徴量ベクトルを生成する方法は、登録情報から抽出した特徴量を単純に並べることで生成してもよいが、前述したように登録特徴量ベクトルの構成に工夫をすることで正規化相関やユークリッド距離やハミング距離を得るように構成することが可能である。
 次に、ステップS5では、第1変換装置110が、登録特徴量ベクトルと登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する。登録鍵行列の構成などは既に説明した通りである。第1変換装置110は、生成した登録秘匿ベクトルを照合装置130へ送信する。
 次に、ステップS6では、照合装置130が、第1変換装置110から受信した登録秘匿ベクトルを記憶装置131に登録する。先述したように、ここまでのステップS4からステップS6は、登録すべき登録情報の数だけ繰り返して実施することが可能である。
 一方、図4に示すように、第1実施形態に係る照合方法の実施時には、ステップS7からステップS9を行う。ステップS7では、第2変換装置120が、照合情報から照合特徴量ベクトルを生成する。照合情報から照合特徴量ベクトルを生成する方法は、登録情報から登録特徴量ベクトルを生成する方法と同様に、照合情報から抽出した特徴量を単純に並べることで生成してもよいが、照合特徴量ベクトルの構成に工夫をすることで正規化相関やユークリッド距離やハミング距離を得るように構成することが可能である。
 次に、ステップS8では、第2変換装置120が、照合特徴量ベクトルと照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する。登録鍵行列と照合鍵行列の関係および照合鍵行列の構成などは既に説明した通りである。第2変換装置120は、生成した照合秘匿ベクトルを照合装置130へ送信する。
 最後に、ステップS9では、照合装置130が、第2変換装置120から受信した照合秘匿ベクトルと記憶装置131に登録されている登録秘匿ベクトルと鍵生成装置140から送信された補助鍵行列とにおけるベクトルと行列の積を計算することで、登録情報と照合情報とを照合する。
 このように、図3に示される第1変換方法と図4に示される第2変換方法を組み合わせて、第1実施形態を照合方法として実施することも可能である。
(ハードウェア構成例)
 図5は、実施形態に用いられる装置のハードウェア構成例を示す図である。すなわち、第1変換装置110、第2変換装置120、照合装置130は、図5に示すハードウェア構成を採用した情報処理装置(コンピュータ)にて、上記説明した照合方法をプログラムとして実行させることで、第1変換装置110、第2変換装置120、照合装置130における各機能を実現することを可能にする。ただし、図5に示すハードウェア構成例は、第1変換装置110、第2変換装置120、照合装置130の各機能を実現するハードウェア構成の一例であり、第1変換装置110、第2変換装置120、照合装置130のハードウェア構成を限定する趣旨ではない。第1変換装置110、第2変換装置120、照合装置130は、図5に示さないハードウェアを含むことができる。
 図5に示すように、第1変換装置110、第2変換装置120、照合装置130が採用し得るハードウェア構成10は、例えば内部バスにより相互に接続される、CPU(Central Processing Unit)11、主記憶装置12、補助記憶装置13、およびIF(Interface)部14を備える。
 CPU11は、第1変換装置110、第2変換装置120、照合装置130が実行するプログラムに含まれる各指令を実行する。主記憶装置12は、例えばRAM(Random Access Memory)であり、第1変換装置110、第2変換装置120、照合装置130が実行するプログラムなどの各種プログラムなどをCPU11が処理するために一時記憶する。
 補助記憶装置13は、例えば、HDD(Hard Disk Drive)であり、第1変換装置110、第2変換装置120、照合装置130が実行するプログラムなどの各種プログラムなどを中長期的に記憶しておくことが可能である。プログラムなどの各種プログラムは、非一時的なコンピュータ可読記録媒体(non-transitory computer-readable storage medium)に記録されたプログラム製品として提供することができる。
 IF部14は、例えば第1変換装置110、第2変換装置120、照合装置130の間の入出力に関するインターフェイスを提供する。
 上記のようなハードウェア構成10を採用した情報処理装置は、先述した照合方法をプログラムとして実行することで、例えば第1変換装置110、第2変換装置120、照合装置130の各機能を実現する。
[第2実施形態]
 第2実施形態では、鍵の更新方法を工夫し、補助鍵行列を不変となるように構成する。ここでも第1実施形態と同じように、元の登録鍵行列をAとし、元の照合鍵行列をBとし、元の補助鍵行列をM=(BA)-1とする。また、第1実施形態における鍵の更新の説明において示したように、ランダムに選んだ別の2つの正則行列Δ、Δを用意し、新しい登録鍵行列をAΔとし、新しい照合鍵行列をΔBとし、新しい補助鍵行列をΔ -1MΔ -1とすることで、鍵の更新をすることができる。
 第2実施形態では、例えば、一方の正則行列Δの要素を乱数とし、もう一方の正則行列をΔB=M-1Δ -1Mとする。すると、新しい補助鍵行列はΔ -1MΔ -1=Δ -1M(M-1Δ -1M)-1=Δ -1MM-1ΔM=Mとなり、補助鍵行列Mは不変になる。なお、新しい登録鍵行列をAΔであり、新しい照合鍵行列はΔB=M-1Δ -1MBである。
 このように鍵の更新をすれば、登録鍵行列および照合鍵行列が漏洩などの可能性で更新をする必要が生じても補助鍵行列Mを不変にしたままで脆弱性を塞ぐことができる。
[第3実施形態]
 第3実施形態では、鍵の更新方法を工夫し、登録鍵行列を不変となるように構成する。ここでも第1実施形態と同じように、元の登録鍵行列をAとし、元の照合鍵行列をBとし、元の補助鍵行列をM=(BA)-1とする。また、第1実施形態における鍵の更新の説明において示したように、ランダムに選んだ別の2つの正則行列Δ、Δを用意し、新しい登録鍵行列をAΔとし、新しい照合鍵行列をΔBとし、新しい補助鍵行列をΔ -1MΔ -1とすることで、鍵の更新をすることができる。
 第3実施形態では、一方の正則行列ΔBの要素を乱数とし、新しい照合鍵行列をΔBとし、新しい補助鍵行列をMΔ -1=(BA)-1Δ -1=(ΔBA)-1とする一方で、正則行列Δを単位行列とする。すると、元の登録鍵行列Aを更新する必要がない。実際、以下のように、元の登録鍵行列Aと新しい照合鍵行列ΔBと新しい補助鍵行列MΔ -1を用いて積の計算をしても、登録特徴量ベクトルxと照合特徴量ベクトルyとの内積<x,y>を正しく得ることができる。
(Ax)(MΔ -1)(ΔBy)=x(AMΔ -1ΔB)y=x(AMB)y=x(AA-1-1B)y=xy=<x,y>
 このように、登録鍵行列Aを不変としながら鍵の更新をすることで、照合装置130に記憶されている登録秘匿ベクトルAxを更新する必要がなくなる。照合装置130に記憶されている登録秘匿ベクトルAxは大量となることもあり、照合鍵行列Bおよび補助鍵行列Mよりも更新頻度を減らすことで鍵の更新をするために必要な処理量を低減することが可能になる。
[第4実施形態]
 第4実施形態では、鍵の更新方法を工夫し、照合鍵行列を不変となるように構成する。ここでも第1実施形態と同じように、元の登録鍵行列をAとし、元の照合鍵行列をBとし、元の補助鍵行列をM=(BA)-1とする。また、第1実施形態における鍵の更新の説明において示したように、ランダムに選んだ別の2つの正則行列Δ、Δを用意し、新しい登録鍵行列をAΔとし、新しい照合鍵行列をΔBとし、新しい補助鍵行列をΔ -1MΔ -1とすることで、鍵の更新をすることができる。
 第4実施形態では、一方の正則行列Δの要素を乱数とし、新しい登録鍵行列をAΔとし、新しい補助鍵行列をΔ -1M=Δ -1(BA)-1=(BAΔ-1とする一方で、正則行列Δを単位行列とする。すると、元の照合鍵行列Bを更新する必要がない。実際、以下のように、新しい登録鍵行列AΔと元の照合鍵行列Bと新しい補助鍵行列Δ -1Mを用いて積の計算をしても、登録特徴量ベクトルxと照合特徴量ベクトルyとの内積<x,y>を正しく得ることができる。
((AΔx)(Δ -1M)(By)=x(AΔ(Δ -1M)B)y=x(AMB)y=x(AA-1-1B)y=xy=<x,y>
 例として、次のような利用形態を考える。登録は店舗などの特定の場所に置かれた専用端末で実行され、認証は各自のスマートフォン等を利用して生体情報を抽出し、登録された情報との照合はサービス提供者のサーバ上で行われる利用形態を想定する。この場合、サービスプロバイダの管理下にある登録鍵と補助鍵の更新は容易であるが、スマートフォン用アプリ等に埋め込まれる形で広く配布される照合鍵は、各ユーザの協力なしに更新することが困難である。このような利用形態では、照合鍵行列Bを不変としながら鍵の更新をすることにより、鍵の更新可能性を高めることができる。
[第5実施形態]
 以下に説明する第4実施形態は、第1実施形態の安全性をより高めた実施形態である。具体的には、第4実施形態は、第1実施形態よりも鍵の漏洩耐性を高めることができる。例えば不測の事態によって、登録特徴量ベクトルとこれに対応する登録秘匿ベクトルの組が複数漏洩した場合、漏洩した複数の登録特徴量ベクトルと登録秘匿ベクトルから登録鍵行列を推測されてしまう虞がある。なお、このことは照合特徴量ベクトルと照合秘匿ベクトルの組が漏洩した場合も同じである。
 このような漏洩した複数の登録特徴量ベクトルと登録秘匿ベクトルから登録鍵行列を特定することができてしまう条件は、連立方程式が解ける条件に帰着することができる。つまり、登録特徴量ベクトルxと登録秘匿ベクトルtと登録鍵行列Aの関係は、連立方程式Ax=tであるので、連立方程式が解ける条件に帰着することができ、既知制約式の個数≧未知変数の個数となる。
 ここで、連立方程式Ax=tは、制約式がn個であり、変数はn+2n個である。なお、変数はn+2n個は、登録特徴量ベクトルxにn個、登録秘匿ベクトルtにn個、登録鍵行列Aにn個の合計である。
 これらn+2n個の変数うち、登録特徴量ベクトルxが1個漏洩すると、n個の変数が未知変数から既知変数へ変わり、また、登録秘匿ベクトルxが1個漏洩すると、n個の変数が未知変数から既知変数へ変わる。さらに、登録特徴量ベクトルxと登録秘匿ベクトルtの組がk組漏洩する場合、既知制約式の個数がkn個(Ax=tの式がk個分)に対し、未知変数は共通で用いられる登録鍵行列Aのn個分となる。この関係をまとめると以下のような表になる。
Figure JPOXMLDOC01-appb-T000004

 上記関係から解るように、漏洩する登録特徴量ベクトルと登録秘匿ベクトルの組の数kがk<nなら登録鍵行列は特定されない。
 しかしながら、漏洩する登録特徴量ベクトルと登録秘匿ベクトルの組がn個以上であると、登録鍵行列の特定が可能であるともいえる。そこで、第4実施形態では、そのような事態が生じないように以下のように工夫をする。
 まず、同じ登録鍵行列Aを用いて登録秘匿ベクトルを生成するのは、n組未満とし、n組以上の場合は新たな登録鍵行列Aを用いる。そして、照合時には、各登録鍵行列に対応する照合鍵行列を用いて、照合秘匿ベクトルを生成し、各照合秘匿ベクトルについて登録秘匿ベクトルとの照合を行う。さらに、同一の照合鍵行列を用いて照合を行う回数がn回以上となると、照合特徴量ベクトルと照合秘匿ベクトルの組から照合鍵行列Bが漏洩する可能性があるので、n-1回ごとに照合鍵行列Bを更新する。
 ここで、登録鍵行列や登録特徴量ベクトルの次数がn=11の場合に、100個の登録特徴量ベクトルを登録し、これを照合する場合を例示する。
 まず、1個目から10個目の登録特徴量ベクトルに用いる登録鍵行列をAとし、11個目から20個目の登録特徴量ベクトルに用いる登録鍵行列をAとし、以下同様に、91個目から100個目の登録特徴量ベクトルに用いる登録鍵行列をA10とする。これらの登録鍵行列を用いて生成される登録秘匿ベクトルは以下の通りである。
A T,A T,…,A T10,A T11,A T12,…,A T20,…,A10 T91,A10 T92,…,A10 T100
 照合時には、一つの照合特徴量ベクトルに対して、各登録鍵行列A,…,A10に対応する照合鍵行列B,…,B10を用いて照合秘匿ベクトルを生成する。すなわち、照合特徴量ベクトルyから生成される照合秘匿ベクトルはBy,By,…,B10yである。そして、これら照合秘匿ベクトルByと各登録秘匿ベクトルA とを各々照合する。
 ただし、上記照合を11回以上繰り返すと鍵が漏洩する可能性があるので、照合を10回繰り返すごとに、更新用の正則行列Δ,…,Δ10を生成し、各照合鍵行列BをΔに更新する。
 第5実施形態では、上記のように同一の登録鍵行列を用いる登録秘匿ベクトルの数を、所定の自然数nよりも少なくし、第2変換装置は、同一の照合鍵行列を用いて照合を行う回数が前記所定の自然数nより超えないように、照合鍵行列を更新することで、同じ登録鍵行列に対する登録特徴量ベクトルと登録秘匿ベクトルの組または同じ照合鍵行列に対する照合特徴量ベクトルと照合秘匿情報ベクトルの組がn個以上漏洩することによる脆弱性を防ぐことができる。
[第6実施形態]
 以下に説明する第6実施形態も安全性をより高めた実施形態である。上記説明した照合システムでは、登録特徴量ベクトルの次数nと登録鍵行列の次数nは同一である。したがって、登録特徴量ベクトルの構成として、単純に特徴量を並べる構成を採用した場合、鍵の漏洩耐性などの安全性が特徴量の個数に制約されてしまう。そこで、第6実施形態では、特徴量の個数に制約されず、安全性を向上させることができるように工夫をする。
 互いに直交する2つベクトルをx’=(r,r,…,r)とy’=(q,q,…,q)とすると、x=(x,x,…,xm,,r,…,r)とy=(y,y,…,ym,,q,…,q)の内積は、x’’=(x,x,…,x)とy’’=(y,y,…,y)の内積に等しい。
 そこで、x’’=(x,x,…,x)とy’’=(y,y,…,y)を特徴量で構成し、これに互いに直交する2つベクトルをx’=(r,r,…,r)とy’=(q,q,…,q)を付加して、登録特徴量ベクトルx=(x,x,…,xm,,r,…,r)と照合特徴量ベクトルy=(y,y,…,ym,,q,…,q)を構成しても、内積の値は変わらない。
 例えば、付加する互いに直交する2つベクトルx’とy’は例えば次のように構成することができる。1つ目の方法は、x’とy’の一方はすべての要素が乱数であり、他方は1つの要素を除いて乱数で構成し、残りの1つの要素を2つのベクトルx’とy’が互いに直交するように調整するものである。この方法の場合、鍵生成時にx’とy’が決められ、登録フローでは毎度同じx’とy’が用いられる。
 2つ目の方法は、0以上p以下であるp’に対し、x’はp’個の乱数とp-p’個の0を並べたベクトルとし、y’はp’個の0とp-p’個の乱数を並べたベクトルとする。この方法の場合、鍵生成時や事前のセットアップ時にqが決められ、x’とy’に含まれる乱数は秘匿ベクトル生成時に独立に選ばれる。
 3つ目の方法は、図7に示すように、2以上p-2以下であるp’に対し、x’はp’個の固定の乱数とp-p’-1個の毎回独立に選ばれる乱数と帳尻合わせ用の値1個を並べたベクトルとし、y’はp’ -1個毎回独立に選ばれる乱数と帳尻合わせ用の値1個とp-p’個の固定の乱数を並べたベクトルとする。この方法の場合、鍵生成時や事前のセットアップ時に固定の乱数ベクトル(r,r,…,rp’)と(qp’+1,qp’+2,…,q)が決められる。秘匿ベクトル生成時にはその都度独立に乱数ベクトル(rp’+1,rp’+2,…,rp-1)と(q,q,…,qp’-1)が選ばれ、さらに、二つの内積値<(r,r,…,rp’),(q,q,…,qp’)>及び<(rp’+1,rp’+2,…,r),(qp’+1,qp’+2,…,q)>がそれぞれsと-sとなるようなr及びqp’を選ぶ。すなわち、登録特徴量ベクトルx=(x,x,…,xm,,r,…,r)と照合特徴量ベクトルy=(y,y,…,ym,,q,…,q)の内積は、x’’=(x,x,…,x)とy’’=(y,y,…,y)の内積に一致する。
 すなわち、特徴量の次数がmであっても、次数がpの直交ベクトルを付加すれば、登録鍵行列および照合鍵行列の次数nをm+pに拡大することができる。さらに、登録特徴量ベクトルと照合特徴量ベクトルのいずれに対しても毎回独立に選ばれる乱数成分が付加されている。これにより、鍵及び元の特徴量ベクトルの漏洩耐性を向上させることができる。以下の表は鍵の漏洩耐性を示したものである。
Figure JPOXMLDOC01-appb-T000005
 上記関係から解るように、漏洩する登録特徴量ベクトルと登録秘匿ベクトルの組の数kがk<m+pなら登録鍵行列は特定されない。つまり、特徴量の個数がpであっても、次数がpの直交ベクトルを付加すれば、漏洩する登録特徴量ベクトルと登録秘匿ベクトルの組の数がkまでの漏洩耐性を得ることができる。なお、本実施形態の工夫を第2~4実施形態に組み合わせれば、より効率的に脆弱性を防ぐことが可能である。
[第7実施形態]
 第7実施形態では、登録特徴量ベクトルと照合特徴量ベクトルの構成を工夫し、登録特徴量ベクトルと照合特徴量ベクトルの内積が、スコア表を参照した登録情報と照合情報とのスコアとなるように構成する。
 特徴量の値に対するスコアが単純な多項式では表現できない場合、スコア表を参照してスコアを与える手法が採用されることがある。特徴量のベクトルに対して、スコア表は、ベクトルの各要素の各値についてスコアが割り当てられており、全ての要素に関するスコアの総和を最終的なスコアとする。
 例えば、下記のようなスコア表では、登録特徴量ベクトルが(0,0,0)であり、照合特徴量ベクトルが(0,1,1)の場合、第1次元の表引き結果がchart(0,0)=1であり、第2および第3次元の表引き結果がchart(0,1)=-1であり、スコアscore((0,0,0),(0,1,1))=1-1-1=-1となる。
Figure JPOXMLDOC01-appb-T000006

 このようなスコア表を用いたスコア付けでも、特徴量の各値を要素に1が格納されている位置に変換したベクトル表現することにより、計算によりスコア値を求めることができる。特徴量の各値のベクトル表現とは、特徴量の各成分i∈[0,L]を、第i次元が1であり他が0であるL+1次元のベクトルに表現するものである。例えば、L=1の場合、0を(1,0)(つまり、0番目の要素を1としそれ以外を0とする)、1を(0,1)と表現する。すると、上記表を用いた表引き計算は以下のように行列の演算を用いて表現することができる。
Figure JPOXMLDOC01-appb-M000007

Figure JPOXMLDOC01-appb-I000008
 上記関係を用いれば、多成分の表引きをまとめてベクトルと行列の積によって計算することも可能である。例えば、登録特徴量ベクトルxが(0,0,0)の場合、各成分の登録特徴量ベクトル(0,0,0)における各成分0を上記関係で(1,0)とベクトル表現し、これらを連結したものをx’=(1,0,1,0,1,0)とする。また、例えば、照合特徴量ベクトルyが(0,1,1)の場合、同様にy’=(1,0,0,1,0,1)とする。
 このように、登録特徴量ベクトルxおよび照合特徴量ベクトルyをx’=(1,0,1,0,1,0)とy’=(1,0,0,1,0,1)に表現した場合、上記スコア表を以下のように行列Cに表現すると、score((0,0,0),(0,1,1))
<x’,Cy’>となる。
Figure JPOXMLDOC01-appb-M000009
 
 実際、以下のように、<x’,Cy’>を計算するとscore((0,0,0),(0,1,1))を得ることができる。
Figure JPOXMLDOC01-appb-M000010
 
Figure JPOXMLDOC01-appb-I000011
 
 第7実施形態に係る照合システムは、上記関係を用いてスコア表を参照して登録情報と照合情報とを照合する。図6は、第7実施形態に係る照合システムの概略構成図である。なお、第7実施形態に係る照合システム200は、第1実施形態に係る照合システム100と共通の構成も多い。したがって、第7実施形態に係る照合システム200の説明では適宜説明を省略するが、省略した説明は第1実施形態に係る照合システム100と共通であるものとする。
 図6に示すように照合システム200は、鍵生成装置240が配布する鍵を用いて、第1変換装置210に入力された登録情報と第2変換装置220に入力された照合情報とを照合装置230を用いて照合する。
 鍵生成装置240は、ランダムに選んだ所定の自然数nの次数の第1の正則行列を生成し、この第1の正則行列を登録鍵行列Aとして第1変換装置210に送信する。さらに鍵生成装置240は、ランダムに選んだ所定の自然数nの次数の第2の正則行列を生成し、この第2の正則行列を照合鍵行列Bとして第2変換装置220に送信する。そして、鍵生成装置240は、登録鍵行列と照合鍵行列との行列積から補助鍵行列Mを生成し、補助鍵行列を照合装置230に送信する。
 ここで、補助鍵行列Mは、登録鍵行列Aと照合鍵行列Bとの間にスコア表を行列表現したスコア表行列Cを挿入した行列積である。すなわち、補助鍵行列はM=A-1CB-1である。スコア表行列Cは、上記説明したように、参照すべきスコア表を対角線上に並べて構成したものである。
 第1変換装置210は、登録情報から登録特徴量ベクトルx’を生成する。ここで、第1変換装置210は、上述したように、登録情報における各成分i∈[0,L]を第i次元が1であり他が0であるL+1次元のベクトルに表現する。登録情報自体がベクトルである場合は、各成分をベクトルに表現し、これらを連結することで登録特徴量ベクトルx’を生成する。
 第1変換装置210は、登録特徴量ベクトルと登録鍵行列Aとの積を計算することにより登録秘匿ベクトルを生成する。第1変換装置210は、生成した登録秘匿ベクトルを照合装置230へ送信し、照合装置230における記憶装置231に登録する。なお、記憶装置231は照合装置230の内部に備えていても良いが、記憶装置231が照合装置230の外部にあってもよい。
 第2変換装置220は、上述した登録情報の場合と同様に、照合情報から照合特徴量ベクトルy’を生成し、照合特徴量ベクトルと照合鍵行列Bとの積を計算することにより照合秘匿ベクトルを生成する。第2変換装置220は、生成した照合秘匿ベクトルを照合装置230へ送信する。
 照合装置230は、第2変換装置220から受信した照合秘匿ベクトルと記憶装置231に登録されている登録秘匿ベクトルと補助鍵行列Mとにおけるベクトルと行列の積を計算する。ここでの積の計算は、登録秘匿ベクトルx’と補助鍵行列Mと照合秘匿ベクトルy’に対し、x’My’を計算すればよい。この計算結果は、スコア表行列Cに組み入れられたスコア表を参照して計算した登録情報xと照合情報yとのスコアscore(x,y)に一致する。
(Ax’)M(By’)=x’(AA-1CB-1B)y’=x’Cy’=<x’,Cy’>=score(x,y)
 以上のように、第7実施形態に係る照合システム200は、スコア表を参照した登録情報と照合情報の照合を行うことができる。なお、鍵生成装置240は、ランダムに選んだ登録鍵行列Aと照合鍵行列Bとの間にスコア表の情報を挿入した行列積の形式で照合装置230に送信するので、実質的に暗号化されている。つまり、スコア表の情報自体も秘匿化した状態で登録情報と照合情報の照合を行うことができる。
 また、第7実施形態では、スコア表の情報が補助鍵行列Mにのみ含まれているので、スコア表が複数ある場合であっても、同じ登録秘匿ベクトルx’と照合秘匿ベクトルy’を用いることができる。つまり、スコア表が複数ある場合であっても、別々の登録秘匿ベクトルx’を照合装置230に記憶する必要がない。また、スコア表が複数ある場合であっても、同じ登録秘匿ベクトルx’および照合秘匿ベクトルとy’を計算すればよいので、スコア表の個数に依存しない時間で生成することができる。
 次に、上記説明した照合システム200でも第1実施形態と同様に鍵を更新することができることを説明する。
 ランダムに選んだ別の2つの正則行列Δ、Δを用意する。元の登録鍵行列Aに対して、新しい登録鍵行列をAΔとし、元の照合鍵行列Bに対して、新しい照合鍵行列をΔBとする。また、元の補助鍵行列M=A-1CB-1に対して、新しい補助鍵行列をΔ -1MΔ -1=Δ -1-1CB-1Δ -1=(AΔ-1C(ΔB)-1とする。
 このように更新をした新しい登録鍵行列AΔと照合鍵行列ΔBとを用いても、登録秘匿ベクトル(AΔx’と新しい補助鍵行列Δ -1MΔ -1と照合秘匿ベクトルΔBy’とにおけるベクトルと行列の積の計算をすれば、スコア表行列Cに組み入れられたスコア表を参照して計算した登録情報xと照合情報yとのスコアscore(x,y)に一致する。
((AΔx’)(Δ -1MΔ -1)(ΔBy’)=x’(AΔ(Δ -1MΔ -1)ΔB)y’=x’(AMB)y’=x’(AA-1CB-1B)y’=x’Cy’=<x’,Cy’>=score(x,y)
 さらに、既に登録されている登録秘匿ベクトルも更新する。具体的には、元の登録鍵行列Aを用いて秘匿化された登録秘匿ベクトルがAxであるとすると、Δ (Ax’)が更新された登録秘匿ベクトルである。この更新された登録秘匿ベクトルΔ (Ax’)が新しい登録鍵行列AΔを用いて秘匿化したものと同じであることは、Δ (Ax’)=Δ x’=(AΔx’であることから解る。
 なお、更新された登録秘匿ベクトル(AΔx’と新しい補助鍵行列Δ -1MΔ -1に対して、更新前の照合鍵行列Bを用いて生成された照合秘匿ベクトルBy’を用いて照合しようとしても、以下のようにscore(x,y)を得ることはできない。
((AΔx’)(Δ -1MΔ -1)(By’)=x’(AΔΔ -1MΔ -1B)y’=x’(AMΔB)y’=x’(CB-1ΔB)y’≠score(x,y)
 なお、本実施形態における鍵の更新においても、第2実施形態および第3実施形態および第4実施形態のように、補助鍵行列Mを不変にした鍵の更新および登録鍵行列Aを不変にした鍵の更新をすることができる。
[第8実施形態]
 本実施形態は、第5実施形態のように、登録秘匿ベクトルx’と照合秘匿ベクトルy’を、乱数を要素に持つベクトルで拡張することで安全性を高める。
 具体的には、(r,r,…,r)および(s,s,…,s)を乱数を要素に持つベクトルとし、登録秘匿ベクトルx’に(r,r,…,r)を結合したものを(x’||(r,r,…,r))とし、照合秘匿ベクトルy’に(s,s,…,s)を結合したものを(y’||(s,s,…,s))とする。すると、以下のようにスコア表行列Cを拡張することで、スコアの値を不変にしながら登録鍵行列および照合鍵行列の次元を増加させることができる。このことは、登録鍵行列および照合鍵行列が特定される可能性を小さくすることができることを意味している。
Figure JPOXMLDOC01-appb-M000012
 
 上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
 ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、
 入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、
 入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、
 前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する照合装置と、
 を備える照合システム。
[付記2]
 前記鍵生成装置は、前記補助鍵行列を不変にしながら、前記登録鍵行列と前記照合鍵行列を更新する付記1に記載の照合システム。
[付記3]
 前記鍵生成装置は、前記登録鍵行列を不変にしながら、前記照合鍵行列と前記補助鍵行列を更新する付記1に記載の照合システム。
[付記4]
 前記登録特徴量ベクトルと前記照合特徴量ベクトルは、乱数を要素に持つベクトルを用いて拡張されている、付記1から付記3のいずれか1つに記載の照合システム。
[付記5]
 前記登録特徴量ベクトルおよび前記照合特徴量ベクトルは、前記登録特徴量ベクトルと前記照合特徴量ベクトルの内積が前記登録情報と前記照合情報とのユークリッド距離の2乗となるように構成されている、付記1から付記4のいずれか1つに記載の照合システム。
[付記6]
 前記補助鍵行列は、前記登録鍵行列と前記照合鍵行列との間に、スコア表を行列表現したスコア表行列を挿入した行列積から得られる、付記1から付記4のいずれか1つに記載の照合システム。
[付記7]
 前記登録特徴量ベクトルおよび前記照合特徴量ベクトルは、特徴量の各値の要素に1が格納されている位置に変換したベクトル表現である、付記6に記載の照合システム。
[付記8]
 前記鍵生成装置は、全ての要素に乱数を割り当てた正方行列から非正則行列を除外して前記登録鍵行列および前記照合鍵行列を生成する、付記1から付記7のいずれか1つに記載の照合システム。
[付記9]
 前記照合装置は、前記第1変換装置から受信した前記登録秘匿ベクトルを記憶しておく記憶装置を備えている、付記1から付記8のいずれか1つに記載の照合システム。
[付記10]
 入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと補助鍵行列とにおけるベクトルと行列の積を計算する照合装置とを用いて、前記登録情報と前記照合情報とを照合するための鍵を生成する鍵生成装置であって、
 ランダムに選んだ第1の正則行列を前記登録鍵行列として生成し、
 ランダムに選んだ第2の正則行列を照合鍵行列として生成し、
 前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置。
[付記11]
 前記補助鍵行列を不変にしながら、前記登録鍵行列と前記照合鍵行列を更新する付記10に記載の鍵生成装置。
[付記12]
 前記登録鍵行列を不変にしながら、前記照合鍵行列と前記補助鍵行列を更新する付記10に記載の鍵生成装置。
[付記13]
 前記登録鍵行列と前記照合鍵行列との間に、スコア表を行列表現したスコア表行列を挿入した行列積から補助鍵行列を生成する、付記10から付記12のいずれか1つに記載の鍵生成装置。
[付記14]
 登録鍵と照合鍵と補助鍵を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵とから登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵とから照合秘匿ベクトルを生成する第2変換装置とを用いて、前記登録情報と前記照合情報とを照合する照合装置であって、
 前記第1変換装置から受信した前記登録秘匿ベクトルと、前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵とから前記登録情報と前記照合情報との照合結果を計算する照合装置。
[付記15]
 ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置とを用いて、前記登録情報と前記照合情報とを照合する照合装置であって、
 前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する照合装置。
[付記16]
 ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第2変換装置から受信した照合秘匿ベクトルと登録秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記登録秘匿ベクトルを登録する第1変換装置であって、
 入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより前記登録秘匿ベクトルを生成し、前記登録秘匿ベクトルを前記照合装置に送信する第1変換装置。
[付記17]
 ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと、入力された照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記照合秘匿ベクトルを送信する第2変換装置であって、
 入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより前記照合秘匿ベクトルを生成し、前記照合秘匿ベクトルを前記照合装置に送信する第2変換装置。
[付記18]
 鍵生成装置が配布する鍵を用いて、第1変換装置に入力された登録情報と第2変換装置に入力された照合情報とを照合する照合方法であって、
 前記鍵生成装置が、ランダムに選んだ第1の正則行列を登録鍵行列として生成し、
 前記鍵生成装置が、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、
 前記鍵生成装置が、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成し、
 前記第1変換装置が、前記登録情報から登録特徴量ベクトルを生成し、
 前記第1変換装置が、前記登録特徴量ベクトルと前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成し、
 前記第2変換装置が、前記照合情報から照合特徴量ベクトルを生成し、
 前記第2変換装置が、前記照合特徴量ベクトルと前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成し、
 照合装置が、前記登録秘匿ベクトルと前記照合秘匿ベクトルと前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する、照合方法。
[付記19]
 入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルとにおけるベクトルと行列の積を計算する照合装置とを用いて、前記登録情報と前記照合情報とを照合するための鍵生成方法であって、
 ランダムに選んだ第1の正則行列を前記登録鍵行列として生成し、
 ランダムに選んだ第2の正則行列を照合鍵行列として生成し、
 前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成方法。
[付記20]
 ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置とを用いて、前記登録情報と前記照合情報とを照合する照合方法であって、
 前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置とから受信した前記補助鍵行列第1変換を計算することにより、前記登録情報と前記照合情報とを照合する照合方法。
[付記21]
 ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第2変換装置から受信した照合秘匿ベクトルと登録秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記登録秘匿ベクトルを登録する第1変換方法であって、
 入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより前記登録秘匿ベクトルを生成し、前記登録秘匿ベクトルを前記照合装置に送信する第1変換方法。
[付記22]
 ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと入力された照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記照合秘匿ベクトルを送信する第2変換方法であって、
 入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより前記照合秘匿ベクトルを生成し、前記照合秘匿ベクトルを前記照合装置に送信する第2変換方法。
 なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、上記引用した文献の各開示事項は、必要に応じ、本発明の趣旨に則り、本発明の開示の一部として、その一部又は全部を、本書の記載事項と組み合わせて用いることも、本願の開示事項に含まれるものと、みなされる。
 10 ハードウェア構成
 11 CPU
 12 主記憶装置
 13 補助記憶装置
 14 IF部
 100,200 照合システム
 110,210 第1変換装置
 120,220 第2変換装置
 130,230 照合装置
 131,231 記憶装置
 140,240 鍵生成装置

Claims (22)

  1.  ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、
     入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、
     入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、
     前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する照合装置と、
     を備える照合システム。
  2.  前記鍵生成装置は、前記補助鍵行列を不変にしながら、前記登録鍵行列と前記照合鍵行列と登録秘匿ベクトルを更新する請求項1に記載の照合システム。
  3.  前記鍵生成装置は、前記登録鍵行列を不変にしながら、前記照合鍵行列と前記補助鍵行列を更新する請求項1に記載の照合システム。
  4.  前記登録特徴量ベクトルと前記照合特徴量ベクトルは、乱数を要素に持つベクトルを用いて拡張されている、請求項1から請求項3のいずれか1項に記載の照合システム。
  5.  前記登録特徴量ベクトルおよび前記照合特徴量ベクトルは、前記登録特徴量ベクトルと前記照合特徴量ベクトルの内積が前記登録情報と前記照合情報とのユークリッド距離の2乗となるように構成されている、請求項1から請求項4のいずれか1項に記載の照合システム。
  6.  前記補助鍵行列は、前記登録鍵行列と前記照合鍵行列との間に、スコア表を行列表現したスコア表行列を挿入した行列積から得られる、請求項1から請求項4のいずれか1項に記載の照合システム。
  7.  前記登録特徴量ベクトルおよび前記照合特徴量ベクトルは、特徴量の各値の要素に1が格納されている位置に変換したベクトル表現である、請求項6に記載の照合システム。
  8.  前記鍵生成装置は、全ての要素に乱数を割り当てた正方行列から非正則行列を除外して前記登録鍵行列および前記照合鍵行列を生成する、請求項1から請求項7のいずれか1項に記載の照合システム。
  9.  前記照合装置は、前記第1変換装置から受信した前記登録秘匿ベクトルを記憶しておく記憶装置を備えている、請求項1から請求項8のいずれか1項に記載の照合システム。
  10.  入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと補助鍵行列とにおけるベクトルと行列の積を計算する照合装置とを用いて、前記登録情報と前記照合情報とを照合するための鍵を生成する鍵生成装置であって、
     ランダムに選んだ第1の正則行列を前記登録鍵行列として生成し、
     ランダムに選んだ第2の正則行列を照合鍵行列として生成し、
     前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置。
  11.  前記補助鍵行列を不変にしながら、前記登録鍵行列と前記照合鍵行列を更新する請求項10に記載の鍵生成装置。
  12.  前記登録鍵行列を不変にしながら、前記照合鍵行列と前記補助鍵行列を更新する請求項10に記載の鍵生成装置。
  13.  前記登録鍵行列と前記照合鍵行列との間に、スコア表を行列表現したスコア表行列を挿入した行列積から補助鍵行列を生成する、請求項10から請求項12のいずれか1項に記載の鍵生成装置。
  14.  登録鍵と照合鍵と補助鍵を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵とから登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵とから照合秘匿ベクトルを生成する第2変換装置とを用いて、前記登録情報と前記照合情報とを照合する照合装置であって、
     前記第1変換装置から受信した前記登録秘匿ベクトルと、前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵とから前記登録情報と前記照合情報との照合結果を計算する照合装置。
  15.  ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置とを用いて、前記登録情報と前記照合情報とを照合する照合装置であって、
     前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する照合装置。
  16.  ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第2変換装置から受信した照合秘匿ベクトルと登録秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記登録秘匿ベクトルを登録する第1変換装置であって、
     入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより前記登録秘匿ベクトルを生成し、前記登録秘匿ベクトルを前記照合装置に送信する第1変換装置。
  17.  ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと、入力された照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記照合秘匿ベクトルを送信する第2変換装置であって、
     入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより前記照合秘匿ベクトルを生成し、前記照合秘匿ベクトルを前記照合装置に送信する第2変換装置。
  18.  鍵生成装置が配布する鍵を用いて、第1変換装置に入力された登録情報と第2変換装置に入力された照合情報とを照合する照合方法であって、
     前記鍵生成装置が、ランダムに選んだ第1の正則行列を登録鍵行列として生成し、
     前記鍵生成装置が、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、
     前記鍵生成装置が、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成し、
     前記第1変換装置が、前記登録情報から登録特徴量ベクトルを生成し、
     前記第1変換装置が、前記登録特徴量ベクトルと前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成し、
     前記第2変換装置が、前記照合情報から照合特徴量ベクトルを生成し、
     前記第2変換装置が、前記照合特徴量ベクトルと前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成し、
     照合装置が、前記登録秘匿ベクトルと前記照合秘匿ベクトルと前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する、照合方法。
  19.  入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと補助鍵行列とにおけるベクトルと行列の積を計算する照合装置とを用いて、前記登録情報と前記照合情報とを照合するための鍵生成方法であって、
     ランダムに選んだ第1の正則行列を前記登録鍵行列として生成し、
     ランダムに選んだ第2の正則行列を前記照合鍵行列として生成し、
     前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成方法。
  20.  ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置とを用いて、前記登録情報と前記照合情報とを照合する照合方法であって、
     前記第1変換装置から受信した前記登録秘匿ベクトルと前記第2変換装置から受信した照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算することにより、前記登録情報と前記照合情報とを照合する照合方法。
  21.  ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより照合秘匿ベクトルを生成する第2変換装置と、前記第2変換装置から受信した照合秘匿ベクトルと登録秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記登録秘匿ベクトルを登録する第1変換方法であって、
     入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより前記登録秘匿ベクトルを生成し、前記登録秘匿ベクトルを前記照合装置に送信する第1変換方法。
  22.  ランダムに選んだ第1の正則行列を登録鍵行列として生成し、ランダムに選んだ第2の正則行列を照合鍵行列として生成し、前記登録鍵行列と前記照合鍵行列との行列積から補助鍵行列を生成する鍵生成装置と、入力された登録情報から登録特徴量ベクトルを生成し、前記登録特徴量ベクトルと前記鍵生成装置から受信した前記登録鍵行列との積を計算することにより登録秘匿ベクトルを生成する第1変換装置と、前記第1変換装置から受信した前記登録秘匿ベクトルと入力された照合秘匿ベクトルと前記鍵生成装置から受信した前記補助鍵行列とにおけるベクトルと行列の積を計算する照合装置と、を用いた照合方法のために前記照合装置に前記照合秘匿ベクトルを送信する第2変換方法であって、
     入力された照合情報から照合特徴量ベクトルを生成し、前記照合特徴量ベクトルと前記鍵生成装置から受信した前記照合鍵行列との積を計算することにより前記照合秘匿ベクトルを生成し、前記照合秘匿ベクトルを前記照合装置に送信する第2変換方法。
PCT/JP2021/048720 2021-12-27 2021-12-27 照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法 WO2023127068A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/048720 WO2023127068A1 (ja) 2021-12-27 2021-12-27 照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/048720 WO2023127068A1 (ja) 2021-12-27 2021-12-27 照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法

Publications (1)

Publication Number Publication Date
WO2023127068A1 true WO2023127068A1 (ja) 2023-07-06

Family

ID=86998367

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/048720 WO2023127068A1 (ja) 2021-12-27 2021-12-27 照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法

Country Status (1)

Country Link
WO (1) WO2023127068A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129292A (ja) * 2007-11-27 2009-06-11 Hitachi Ltd 生体認証方法、装置およびシステム
WO2015151155A1 (ja) * 2014-03-31 2015-10-08 株式会社日立国際電気 安否確認システム及び秘匿化データの類似検索方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129292A (ja) * 2007-11-27 2009-06-11 Hitachi Ltd 生体認証方法、装置およびシステム
WO2015151155A1 (ja) * 2014-03-31 2015-10-08 株式会社日立国際電気 安否確認システム及び秘匿化データの類似検索方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HARUNA HIGO, TOSHIYUKI ISSHIKI, KENGO MORI, KEN OBANA: "3C2-3 A Secure Biometric Authentication Scheme with Small Information Disclosure", 2016 CRYPTOGRAPHY AND INFORMATION SECURITY SYMPOSIUM (SCIS2016); JANUARY 19–22, 2016, IEICE, JP, 22 January 2016 (2016-01-22) - 22 January 2016 (2016-01-22), JP, pages 1 - 8, XP009547645 *
HIGO, HARUNA EL AL.: "Cancelable Biometrics based on Euclidean distance", 2022 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 12 January 2022 (2022-01-12), pages 1 - 8, XP009547644 *
IKENO, SHINICHI ET AL.: "Modern cryptography theory; 1st edition. 6th printing", 15 November 1997, IEICE, JP, article IKENO, SHINICHI ET AL.: "(6) Tsujii (T) cryptography", pages: 93 - 94, XP009547723 *

Similar Documents

Publication Publication Date Title
US11227037B2 (en) Computer system, verification method of confidential information, and computer
JP5270514B2 (ja) 生体認証方法及び計算機システム
EP3669297B1 (en) A biometric cryptosystem
WO2014192086A1 (ja) 生体署名システム、署名検証方法、登録端末、署名生成端末および署名検証装置
JP6238867B2 (ja) 逐次バイオメトリック暗号システムおよび逐次バイオメトリック暗号処理方法
CN110710156A (zh) 基于带误差学习假设和随机预言的实用可重用模糊提取器
KR20190001177A (ko) 바이오메트릭을 이용한 사용자의 인증 방법 및 장치
Tran et al. A multi-filter fingerprint matching framework for cancelable template design
Delgado-Mohatar et al. Blockchain meets biometrics: Concepts, application to template protection, and trends
KR102008101B1 (ko) 함수 암호를 이용한 안전한 바이오 인증 방법
Sadhya et al. Design of a cancelable biometric template protection scheme for fingerprints based on cryptographic hash functions
CN116010917A (zh) 隐私保护的图像处理方法、身份注册方法及身份认证方法
CN114065169B (zh) 一种隐私保护生物认证方法和装置、电子设备
US20200028686A1 (en) Systems and methods for extending the domain of biometric template protection algorithms from integer-valued feature vectors to real-valued feature vectors
Katsumata et al. Revisiting fuzzy signatures: Towards a more risk-free cryptographic authentication system based on biometrics
Selimović et al. Authentication based on the image encryption using delaunay triangulation and catalan objects
WO2023127068A1 (ja) 照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法
KR101838432B1 (ko) 바이오매트릭스와 함수암호-내적을 이용한 인증 방법 및 시스템
WO2023127069A1 (ja) 照合システム、照合方法、および照合プログラム
JP2013157032A (ja) 生体認証方法及び生体認証システム
Zhu et al. A performance-optimization method for reusable fuzzy extractor based on block error distribution of iris trait
Mao et al. A novel privacy-preserving biometric authentication scheme
KR101949579B1 (ko) 바이오매트릭스를 이용하여 키를 생성하는 방법 및 시스템
JP7021375B2 (ja) 計算機システム、秘密情報の検証方法、及び計算機
Lozhnikov et al. Usage of fuzzy extractors in a handwritten-signature based technology of protecting a hybrid document management system

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023570551

Country of ref document: JP