Verification system, key generation device, verification device, first conversion device, second conversion device, and methods thereof
The verification system employs random regular matrices for secure one-way conversion and key updates, addressing vulnerabilities in conventional cancelable biometrics by preventing inference of original features and ensuring secure key management.
Patent Information
- Application Number
- JP2023570551
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-27
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2041-12-27
AI Technical Summary
Conventional cancelable biometrics lack one-way conversion, allowing the inference of original features from enrollment or matching data, and often use the same key for registration and matching, leading to security vulnerabilities.
A verification system utilizing randomly selected regular matrices for registration and matching keys, along with auxiliary keys, to generate and verify secret vectors through matrix operations, ensuring secure one-way conversion and key updates without revealing original biometric information.
Enhances the security of cancelable biometrics by preventing inference of original features and maintaining secure key management, even in the event of data leakage, while allowing key updates to maintain system integrity.
Smart Images

Figure 0007729407000013 
Figure 0007729407000014 
Figure 0007729407000015
Abstract
Description
[Technical Field]
[0001] 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. [Background technology]
[0002] Biometric authentication is an example of personal authentication. Biometric authentication is a method of personal authentication in which the biometric information of the person to be authenticated is compared with the biometric information of the person being authenticated to confirm whether the two persons match. Here, biometric information refers to data extracted from some of an individual's physical or behavioral characteristics. For example, biometric information includes features extracted from images such as fingerprints and palm prints, and features extracted from audio data such as voiceprints.
[0003] In 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. This requires a high level of security management. This is because biometric information is also personal information, and its leakage itself is a damage, and because biometric information cannot be destroyed or updated once it is leaked, the security of all authentication systems that use the same biometric information is lost. Therefore, standards for protecting biometric information require that even server administrators cannot obtain the original biometric information, and that registered biometric information can be invalidated.
[0004] Cancellable biometrics is a matching method that satisfies these requirements. Cancellable biometrics is a method for matching a biometric feature extracted from a living body while it is still transformed. During registration, the feature x is transformed using a registration key K from T←F. K (x) is performed, and during matching, the feature y is transformed using the matching key K'. K’ This is a method for matching feature quantity x with feature quantity y by performing (x) and comparing the converted T with T'.
[0005] By adopting such a mechanism, cancelable biometrics makes it possible to invalidate (cancel) enrollment data and update it with new enrollment data by changing the enrollment key K and matching key K'. Furthermore, since the enrollment data and matching data are obtained by converting features using a key, even a server administrator cannot obtain the original biometric information if the conversion is sufficiently one-way, making this a suitable property for biometric authentication. Various methods for such cancelable biometrics are known (see, for example, Patent Documents 1 and 2 and Non-Patent Document 1, etc.). [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Patent No. 4961214 [Patent Document 2] Patent No. 4929136 [Non-patent literature]
[0007] [Patent Document 3] 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 Summary of the Invention [Problem to be solved by the invention]
[0008] The disclosures of the above-mentioned prior art documents are incorporated herein by reference. The following analysis has been carried out by the present inventors.
[0009] Meanwhile, even greater security is required for cancelable biometrics techniques. One of the reasons for this is that some cancelable biometrics in conventional technology lack the one-way nature of conversion. With one-way conversion, it is not possible to uniquely identify the original feature from the enrollment data or matching data, but the enrollment data or matching data may leak information about the original feature. In such cases, there is a vulnerability in that the original feature can be inferred from the enrollment data or matching data.
[0010] Furthermore, it is conceivable that the sets of enrollment data or matching data and the original feature quantities may be leaked. In such a case, there is a risk that the registration key or matching key may be inferred from the sets of enrollment data or matching data and the original feature quantities. It is preferable that security be guaranteed even if the sets of enrollment data or matching data and the original feature quantities are leaked. Furthermore, in general cancelable biometrics, the registration key is often also used as the matching key. This means that if either the registration key or the matching key is leaked, the other key will also be leaked.
[0011] In view of the above-mentioned problems, an object of the present invention is to provide a matching system, a key generation device, a matching device, a first conversion device, a second conversion device, and methods thereof that contribute to improving the security of cancelable biometrics. [Means for solving the problem]
[0012] In a first aspect of the present invention, there is provided a verification system including: a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from the matrix product of the registration key matrix and the matching key matrix; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating the product of the registration feature vector and the registration key matrix received from the key generation device; a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating the product of the matching feature vector and the matching key matrix received from the key generation device; and a verification device that verifies the registration information and the verification information by calculating the vector-matrix product of the registration secret vector received from the first conversion device, the matching secret vector received from the second conversion device, and the auxiliary key matrix received from the key generation device.
[0013] In a second aspect of the present invention, there is provided a key generation device that generates a key for matching the registration information and the matching information using a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating the product of the registration feature vector and the registration key matrix, a second conversion device that generates a matching feature vector from input verification information and generates a matching secret vector by calculating the product of the matching feature vector and the verification key matrix, and a matching device that calculates a vector-matrix product of the registration secret vector received from the first conversion device, the verification secret vector received from the second conversion device, and an auxiliary key matrix, wherein the key generation device generates a randomly selected first regular matrix as the registration key matrix, generates a randomly selected second regular matrix as the verification key matrix, and generates the auxiliary key matrix from the matrix product of the registration key matrix and the verification key matrix.
[0014] In a third aspect of the present invention, there is provided a matching device that matches registration information with matching information using a key generation device that generates a registration key, a matching key, and an auxiliary key, a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector from the registration feature vector and the registration key received from the key generation device, and a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector from the matching feature vector and the matching key received from the key generation device, and that calculates a matching result between the registration information and the matching information using the registration secret vector received from the first conversion device, the matching secret vector received from the second conversion device, and the auxiliary key received from the key generation device.
[0015] In a fourth aspect of the present invention, there is provided a matching device for matching registration information with matching information, using a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the matching key matrix, a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and the registration key matrix received from the key generation device, and a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix received from the key generation device, A matching device is provided that matches the registration information with the matching information by calculating a vector-matrix product of the registration secret vector received from the first conversion device, the matching secret vector received from the second conversion device, and the auxiliary key matrix received from the key generation device.
[0016] In a fifth aspect of the present invention, there is provided a first conversion device that registers a registration secret vector in a matching device for a matching method using: a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from the matrix product of the registration key matrix and the matching key matrix; a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating the product of the matching feature vector and the matching key matrix received from the key generation device; and a matching device that calculates a vector-matrix product of the matching secret vector received from the second conversion device, the registration secret vector, and the auxiliary key matrix received from the key generation device, wherein the first conversion device generates a registration feature vector from input registration information, generates the registration secret vector by calculating the product of the registration feature vector and the registration key matrix received from the key generation device, and transmits the registration secret vector to the matching device.
[0017] In a sixth aspect of the present invention, there is provided a second conversion device that transmits a verification secret vector to a verification device for a verification method using: a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from the matrix product of the registration key matrix and the matching key matrix; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating the product of the registration feature vector and the registration key matrix received from the key generation device; and a verification device that calculates the vector-matrix product of the registration secret vector received from the first conversion device, an input verification secret vector, and the auxiliary key matrix received from the key generation device, wherein the second conversion device generates a verification feature vector from input verification information, generates the verification secret vector by calculating the product of the verification feature vector and the matching key matrix received from the key generation device, and transmits the verification secret vector to the verification device.
[0018] In a seventh aspect of the present invention, there is provided a verification method for verifying registration information input to a first conversion device and verification information input to a second conversion device by using a key distributed by a key generation device, the method comprising: the key generation device generating a randomly selected first regular matrix as a registration key matrix; the key generation device generating a randomly selected second regular matrix as a verification key matrix; the key generation device generating an auxiliary key matrix from a matrix product of the registration key matrix and the verification key matrix; the first conversion device generating a registration feature vector from the registration information; a 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 secret vector by calculating the product of the matching feature vector and the matching key matrix, and the matching device compares the registration information with the matching information by calculating the vector-matrix product of the registration secret vector, the matching secret vector, and the auxiliary key matrix.
[0019] In an eighth aspect of the present invention, there is provided a key generation method for matching registration information with verification information, using a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating the product of the registration feature vector and the registration key matrix, a second conversion device that generates a verification feature vector from input verification information and generates a verification secret vector by calculating the product of the verification feature vector and the verification key matrix, and a verification device that calculates a vector-matrix product of the registration secret vector received from the first conversion device, the verification secret vector received from the second conversion device, and an auxiliary key matrix, the key generation method generating a randomly selected first regular matrix as the registration key matrix, generating a randomly selected second regular matrix as the verification key matrix, and generating the auxiliary key matrix from the matrix product of the registration key matrix and the verification key matrix.
[0020] In a ninth aspect of the present invention, there is provided a matching method for matching registration information with verification information using a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from the matrix product of the registration key matrix and the matching key matrix, a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating the product of the registration feature vector and the registration key matrix received from the key generation device, and a second conversion device that generates a matching feature vector from input verification information and generates a matching secret vector by calculating the product of the matching feature vector and the matching key matrix received from the key generation device, wherein the matching method matches the registration information with the verification information by calculating a vector-matrix product of the registration secret vector received from the first conversion device, the matching secret vector received from the second conversion device, and the auxiliary key matrix received from the key generation device.
[0021] In a tenth aspect of the present invention, there is provided a first conversion method for registering a registration secret vector in a matching device for a matching method using: a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from the matrix product of the registration key matrix and the matching key matrix; a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating the product of the matching feature vector and the matching key matrix received from the key generation device; and a matching device that calculates the vector-matrix product of the matching secret vector received from the second conversion device, the registration secret vector, and the auxiliary key matrix received from the key generation device, the first conversion method generating a registration feature vector from input registration information, generating the registration secret vector by calculating the product of the registration feature vector and the registration key matrix received from the key generation device, and transmitting the registration secret vector to the matching device.
[0022] In an eleventh aspect of the present invention, there is provided a second conversion method for transmitting a verification secret vector to a verification device for use in a verification method using: a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from the matrix product of the registration key matrix and the matching key matrix; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating the product of the registration feature vector and the registration key matrix received from the key generation device; and a verification device that calculates the vector-matrix product of 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, wherein the second conversion method generates a verification feature vector from input verification information, generates the verification secret vector by calculating the product of the verification feature vector and the matching key matrix received from the key generation device, and transmits the verification secret vector to the verification device. [Effects of the Invention]
[0023] According to each aspect of the present invention, it is possible to provide a matching system, a key generation device, a matching device, a first conversion device, a second conversion device, and methods thereof that contribute to improving the security of cancelable biometrics. [Brief explanation of the drawings]
[0024] [Figure 1] FIG. 1 is a schematic configuration diagram of a verification system according to the first embodiment. [Figure 2] FIG. 2 is a system flow diagram showing a key generation method according to the first embodiment. [Figure 3] FIG. 3 is a system flow diagram showing the first conversion method according to the first embodiment. [Figure 4] FIG. 4 is a system flow diagram showing the second conversion method according to the first embodiment. [Figure 5] FIG. 5 is a diagram illustrating an example of the hardware configuration of an apparatus used in the embodiment. [Figure 6]FIG. 6 is a schematic configuration diagram of a verification system according to the seventh embodiment. [Figure 7] FIG. 7 is a diagram showing an example of extension of the registered feature vector and the matched feature vector. DETAILED DESCRIPTION OF THE INVENTION
[0025] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited to the embodiments described below. In addition, the same or corresponding elements in each drawing are appropriately designated by the same reference numerals. Furthermore, it should be noted that the drawings are schematic, and the dimensional relationships and ratios of each element may differ from those in reality. There may also be parts in which the dimensional relationships and ratios differ between the drawings.
[0026] [First embodiment] Fig. 1 is a schematic diagram of a verification system according to a first embodiment. As shown in Fig. 1, the verification system 100 uses a key distributed by a key generating device 140 to verify registration information input to a first conversion device 110 with verification information input to a second conversion device 120 using a verification device 130. Note that the first conversion device 110 and the second conversion device 120 can be integrated into the same device, but the first conversion device 110 and the second conversion device 120 can also be independent devices. Here, to facilitate explanation of the functions, the first conversion device 110 and the second conversion device 120 will be described as separate devices.
[0027] The key generation device 140 sets a randomly selected n×n-dimensional regular matrix as a first regular matrix and transmits this first regular matrix to the first conversion device 110 as a registration key matrix A. The key generation device 140 then sets another randomly selected n×n-dimensional regular matrix as a second regular matrix and transmits this second regular matrix to the second conversion device 120 as a verification key matrix B. The key generation device 140 then generates an 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 the verification device 130.
[0028] Here, one way to select a random regular matrix is to prepare a list of n×n dimensional regular matrices and select one from them uniformly at random. Another method is to use a square matrix in which n squared random numbers are assigned to each element, excluding irregular matrices. To exclude irregular matrices, for example, it is sufficient to exclude those whose determinant is zero. The random numbers assigned to each element may also be a so-called pseudo-random number sequence. Pseudo-random number sequence a1, a2, ..., a m is generally generated by deterministic computation for the seed input, but a1, a2,…, a m-1 From a m It is configured so that it is virtually impossible to predict.
[0029] It should also be noted that the information on the registration key matrix and the verification key matrix cannot be leaked from the auxiliary key matrix alone. That is, even if the auxiliary key matrix is known, the candidates for the registration key matrix and the verification key matrix remain all regular matrices of n × n dimensions.
[0030] The first conversion device 110 generates a registered feature vector of a degree of a predetermined natural number n from the registered information. For example, the registered information may include feature extractions from images of a face, iris, fingerprint, palm print, or veins in a finger or palm, or feature extractions from audio data such as a voiceprint. Fingerprints and palm prints have characteristic patterns called minutiae. The first conversion device 110 may generate the registered feature vector using numerical values of these. The registered feature vector may be generated by simply arranging the features extracted from the registered information, but it is also possible to devise a configuration for the registered feature vector, as will be described later.
[0031] The first conversion device 110 generates a registered secret vector by calculating the product of the registered feature vector and the registered key matrix A. Here, the product of the registered feature vector and the registered key matrix A is the product of a matrix and a vector in linear algebra. Note that the degree of the regular matrix is the same as the degree of the registered feature vector, and if the degree of the registered feature vector is a natural number n, the regular matrix is an n×n matrix.
[0032] Note that real numbers can be used for the feature quantities and each matrix value. That is, if the original feature quantities are real numbers, calculations can be performed using the real numbers, making it possible to calculate the inner product of the feature quantities with almost no loss of accuracy. It is also possible to use integers within a certain range for each feature quantity and matrix value. In modular arithmetic, where the modulus is a prime number, addition, subtraction, and multiplication result in the remainder when the result of normal addition, subtraction, and multiplication is divided by p. The number that gives a remainder of 1 when the result of multiplication is divided by p can be defined as the reciprocal, and the inverse matrix can also be calculated. When integers within a certain range are used in this way, the inner product can be calculated with little loss of accuracy by multiplying each feature quantity value by a constant and then rounding it to an integer, and setting the modulus p to be equal to or greater than the maximum possible value of the inner product of the rounded feature quantities.
[0033] The first conversion device 110 transmits the registered secret vector generated as described above to the matching device 130, and registers it in the storage device 131 of the matching device 130. The storage device 131 may be provided inside the matching device 130, or may be provided outside the matching device 130.
[0034] The second conversion device 120 generates a matching feature vector from the matching information. The method for generating a matching feature vector from the matching information is the same as the method for generating a registered feature vector from registered information. That is, the matching feature vector is generated from features extracted from the matching information.
[0035] The second conversion device 120 generates a matching secret vector by calculating the product of the matching feature vector and the matching key matrix B. This product of the matching feature vector and the matching key matrix B is the same as the product of the registered feature vector and the registration key matrix, and is the product of a matrix and a vector in linear algebra. In other words, the second conversion device 120 differs from the first conversion device 110 in that the second conversion device 120 uses the matching key matrix B instead of the registration key matrix A used when generating the registered secret vector. Therefore, as described above, the first conversion device 110 and the second conversion device 120 can be integrated into the same device.
[0036] The second conversion device 120 transmits the collation secret vector generated as described above to the collation device 130.
[0037] The matching device 130 calculates a vector-matrix product of the matching secret vector received from the second conversion device 120, the registered secret vector registered in the storage device 131, and the auxiliary key matrix M. As will be described later, this calculation of the inner product coincides with the inner product of the registered feature vector and the matching feature vector. Since the inner product of the registered feature vector and the matching feature vector represents the similarity between the registered information and the matching information, if this similarity is within a predetermined range, it can be determined that the registered information and the matching information match. Note that the matching result between the registered information and the matching information may be transmitted by the matching device 130 to the second conversion device 120, or may be used as a trigger for another process.
[0038] Here, the principle on which the above-described verification system 100 functions will be described.
[0039] First, the registration key matrix A is a randomly selected n×n regular matrix. On the other hand, the verification key matrix B is also a randomly selected n×n regular matrix. Furthermore, the auxiliary key matrix M is the inverse matrix (BA) of the matrix product BA of the registration key matrix A and the verification key matrix B. -1 Since the registration key matrix A and the matching key matrix B are regular matrices, the auxiliary key matrix M is also a regular matrix.
[0040] Let x be the registration feature vector generated from the registration information, and y be the matching feature vector generated from the matching information. Then, the registration secret vector t is the product of the registration feature vector x and the registration key matrix A, so t=A T x, and the matching secret vector s is the product of the matching feature vector and the matching key matrix B, so s = Bx. Note that the subscript T indicates a transposed matrix. This is because the matrix needs to be transposed when converting the inner product calculation into a matrix multiplication, so it is transposed in advance.
[0041] At the time of verification, a vector-matrix product is calculated between the registered secret vector, the auxiliary key matrix, and the verification secret vector. The product is calculated by multiplying the registered secret vector t, the auxiliary key matrix M, and the verification secret vector s by t T Ms can be calculated. Here, the auxiliary key matrix M is (BA) -1 Note that, as shown below, this calculation result coincides with the inner product of the registered feature vector x and the matching feature vector y. (A T x) T M(By)=x T (A(BA) -1 B) y = x T (AA -1 B -1 B) y = x T y=<x,y>
[0042] Then, the inner product of the registration feature vector x and the matching feature vector y<x,y> is an index of similarity. For example, normalized correlation is often used as an index of vector similarity. Given two vectors x=(x1, x2, …, x n ) T and y=(y1,y2,…,y n ) T The normalized correlation of is defined by the following equation. If this normalized correlation is large, it indicates that they are similar, and if it is small, it indicates that they are not similar. As can be seen from the definition given by the following equation, when two vectors x and y are normalized, the normalized correlation is the inner product itself. Therefore, if the registered feature vector x and the matching feature vector y are normalized, the inner product of the registered feature vector x and the matching feature vector y is<x,y> can be used as an indicator of similarity (i.e., the normalized correlation between the two original vectors).
[0043]
number
[0044] For example, Euclidean distance is also often used as an index of vector similarity. n ) Tand y=(y1,y2,…,y n ) T The Euclidean distance between two vectors x'=(Σx i 2 ,1,x1,x2,…,x n ) T and y'=(1,Σy i 2 ,-2y1,-2y2,…,-2y n ) T Therefore, for two vectors x and y for which you want to calculate the Euclidean distance, if the registered feature vector and the matching feature vector are x' and y' respectively, the dot product of the registered feature vector x' and the matching feature vector y' is<x’,y’> can be used as an index of similarity (i.e., the Euclidean distance between two vectors x and y).
[0045]
number
[0046] For example, the Hamming distance is often used as a measure of similarity between binary vectors (i.e., vectors whose components are either 0 or 1). Given two vectors x = (x1, x2, ..., x n ) T and y=(y1,y2,…,y n ) T The Hamming distance of two vectors x' = (1, x1, x2, ..., x n ) T and y'=(Σy i ,1-2y1,1-2y2,…,1-2y n ) TTherefore, for two vectors x and y for which you want to calculate the Hamming distance, if the registered feature vector and the matching feature vector are x' and y' respectively, the dot product of the registered feature vector x' and the matching feature vector y' is<x’,y’> can be used as an index of similarity (i.e., the Hamming distance between two vectors x and y).
[0047]
number
[0048] Next, it will be explained that the above-described verification system 100 can update the key.
[0049] Two other randomly chosen regular matrices Δ A , Δ B Prepare this regular matrix Δ A , Δ B is also an n×n matrix, just like the registration key matrix and the verification key matrix. In key updating, this other regular matrix Δ A , Δ B Multiply the registration key matrix A and the verification key matrix B by AΔ A For the original matching key matrix B, the new matching key matrix is Δ B Let B be the original auxiliary key matrix M=(BA) -1 For , the new auxiliary key matrix is Δ A -1 MΔ B -1 =Δ A -1 (BA) -1 Δ B -1 Let's say.
[0050] The new registration key matrix AΔ updated in this way A and the matching key matrix Δ B Even if B is used, the registered secret vector (AΔ A ) T x and the new auxiliary key matrix Δ A -1 MΔ B-1 and the matching secret vector Δ B If the product of the vector and matrix in By is calculated, it will match the inner product of the registered feature vector x and the matching feature vector y. ((AΔ A ) T x) T (Δ A -1 MΔ B -1 )(Δ B By)=x T (AΔ A (Δ A -1 MΔ B -1 )Δ B B) y = x T (AMB)y=x T (AA -1 B -1 B) y = x T y=<x,y>
[0051] Furthermore, when updating the key, the already registered registered concealed vectors are also updated. In other words, since the already registered registered feature vectors are concealed using the original registration key matrix A, the new matching key matrix Δ B The registered secret vector that has already been registered is updated so that it can be verified using B. Specifically, the registered secret vector that has been anonymized using the original registration key matrix A is updated to A. T If x, then Δ A T (A T x) is the updated registered secret vector. This updated registered secret vector Δ A T (A T x) is the new registration key matrix AΔ A Δ A T (A T x)=Δ A T A T x=(AΔ A ) T This can be seen from the fact that it is x.
[0052] In this way, when updating the key in the verification system 100, the registered feature vector A T Let x be another randomly chosen regular matrix Δ A T By multiplying by , the new matching key matrix Δ B B. In this way, in the verification system 100 of this embodiment, when an already registered registered feature vector needs to be invalidated due to an unforeseen event such as information leakage, the original registered feature vector can be updated so that verification is not possible without using a new verification key matrix. Note that invalidation here means that it is impossible to determine whether a registered secret vector or a verification secret vector generated using a different key is created from the same features unless there is another information leakage.
[0053] (Matching method) 2 to 4 are system flow diagrams illustrating a matching method according to the first embodiment. The matching method illustrated in FIGS. 2 to 4 is a matching system that uses a matching device 130 to match registration information input to a first conversion device 110 with matching information input to a second conversion device 120 using a key distributed by a key generating device 140. However, the first conversion device 110 and the second conversion device 120 can be integrated into the same device. Furthermore, the first conversion method illustrated in FIG. 3 and the second conversion method illustrated in FIG. 4 can be independently and repeatedly performed in any order. That is, the first conversion method illustrated in FIG. 3 can be repeatedly performed the number of times equal to the number of pieces of registration information to be registered, and the matching method illustrated in FIG. 4 can be performed at any timing when authentication of the matching information is required.
[0054] As shown in Fig. 2, steps S1 to S3 are performed during key generation. In step S1, the key generation device 140 generates a registration key matrix and transmits the registration key matrix to the first conversion device 110. In step S2, the key generation device 140 generates a verification key matrix and transmits the verification key matrix to the second conversion device 120. In step S3, the key generation device 140 generates an auxiliary key matrix and transmits the auxiliary key matrix to the verification device 130. These key matrices are stored in each device.
[0055] 3, in step S4, the first conversion device 110 generates a registered feature vector from the registered information. The registered feature vector may be generated by simply arranging features extracted from the registered information, but as described above, it is possible to configure the registered feature vector so as to obtain a normalized correlation, a Euclidean distance, or a Hamming distance by devising a configuration of the registered feature vector.
[0056] Next, in step S5, the first conversion device 110 generates a registered secret vector by calculating the product of the registered feature vector and the registered key matrix. The configuration of the registered key matrix has already been described. The first conversion device 110 transmits the generated registered secret vector to the matching device 130.
[0057] Next, in step S6, the matching device 130 registers the registered secret vector received from the first conversion device 110 in the storage device 131. As described above, steps S4 to S6 can be repeated as many times as the number of pieces of registration information to be registered.
[0058] On the other hand, as shown in Fig. 4, when the matching method according to the first embodiment is carried out, steps S7 to S9 are carried out. In step S7, the second conversion device 120 generates a matching feature vector from the matching information. The method of generating a matching feature vector from the matching information may be the same as the method of generating a registered feature vector from registered information, in which case the matching feature vector may be generated by simply arranging features extracted from the matching information. However, by devising the configuration of the matching feature vector, it is possible to configure it so as to obtain a normalized correlation, a Euclidean distance, or a Hamming distance.
[0059] Next, in step S8, the second conversion device 120 generates a matching secret vector by calculating the product of the matching feature vector and the matching key matrix. The relationship between the registration key matrix and the matching key matrix and the configuration of the matching key matrix have already been explained. The second conversion device 120 transmits the generated matching secret vector to the matching device 130.
[0060] Finally, in step S9, the matching device 130 matches the registered information with the matching information by calculating the vector-matrix product of the matching secret vector received from the second conversion device 120, the registered secret vector registered in the storage device 131, and the auxiliary key matrix sent from the key generation device 140.
[0061] In this way, the first embodiment can be implemented as a matching method by combining the first conversion method shown in FIG. 3 and the second conversion method shown in FIG.
[0062] (Example of hardware configuration) FIG. 5 is a diagram illustrating an example of the hardware configuration of the devices used in the embodiment. That is, the first conversion device 110, the second conversion device 120, and the matching device 130 can realize the respective functions of the first conversion device 110, the second conversion device 120, and the matching device 130 by executing the above-described matching method as a program on an information processing device (computer) employing the hardware configuration illustrated in FIG. 5. However, the hardware configuration example illustrated in FIG. 5 is an example of a hardware configuration that realizes the respective functions of the first conversion device 110, the second conversion device 120, and the matching device 130, and is not intended to limit the hardware configuration of the first conversion device 110, the second conversion device 120, and the matching device 130. The first conversion device 110, the second conversion device 120, and the matching device 130 may include hardware not illustrated in FIG. 5.
[0063] As shown in FIG. 5, 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 a CPU (Central Processing Unit) 11, a main memory device 12, an auxiliary memory device 13, and an IF (Interface) unit 14, which are interconnected, for example, by an internal bus.
[0064] The CPU 11 executes each command included in the programs executed by the first conversion device 110, the second conversion device 120, and the collation device 130. The main storage device 12 is, for example, a RAM (Random Access Memory), and temporarily stores various programs, such as the programs executed by the first conversion device 110, the second conversion device 120, and the collation device 130, for processing by the CPU 11.
[0065] The auxiliary storage device 13 is, for example, a hard disk drive (HDD), and is capable of storing various programs, such as the programs executed by the first conversion device 110, the second conversion device 120, and the collation device 130, for a medium to long term. The various programs can be provided as a program product recorded on a non-transitory computer-readable storage medium.
[0066] The IF unit 14 provides an interface for input and output between the first conversion device 110, the second conversion device 120, and the collation device 130, for example.
[0067] An information processing device employing the above-described hardware configuration 10 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 verification method as a program.
[0068] [Second embodiment] In the second embodiment, a key update method is devised to make the auxiliary key matrix invariant. Here, as in the first embodiment, the original registration key matrix is A, the original verification key matrix is B, and the original auxiliary key matrix is M=(BA). -1 As described in the description of key updating in the first embodiment, two other randomly selected regular matrices Δ A , Δ B Prepare a new registration key matrix AΔ A Let the new matching key matrix be Δ B Let B be the new auxiliary key matrix and let Δ A -1MΔ B -1 This allows you to update the key.
[0069] In the second embodiment, for example, one regular matrix Δ A The elements of are random numbers, and the other regular matrix is Δ B =M -1 Δ A -1 M. Then, the new auxiliary key matrix is Δ A -1 MΔ B -1 =Δ A -1 M(M -1 Δ A -1 M) -1 =Δ A -1 MM -1 Δ A M = M, and the auxiliary key matrix M remains unchanged. Note that the new registration key matrix is AΔ A and the new matching key matrix is Δ B B=M -1 Δ A -1 It is MB.
[0070] By updating the keys in this way, even if it becomes necessary to update the registration key matrix and the verification key matrix due to the possibility of leakage or the like, it is possible to close the vulnerability while leaving the auxiliary key matrix M unchanged.
[0071] [Third embodiment] In the third embodiment, a key update method is devised to make the registration key matrix invariant. As in the first embodiment, the original registration key matrix is A, the original verification key matrix is B, and the original auxiliary key matrix is M=(BA). -1 As described in the description of key updating in the first embodiment, two other randomly selected regular matrices Δ A , Δ B Prepare a new registration key matrix AΔ A Let the new matching key matrix be Δ B Let B be the new auxiliary key matrix and let Δ A -1 MΔB -1 This allows you to update the key.
[0072] In the third embodiment, one regular matrix Δ B The elements of are random numbers, and the new matching key matrix is Δ B Let B be the new auxiliary key matrix and let MΔ B -1 =(BA) -1 Δ B -1 =(Δ B BA) -1 On the other hand, the regular matrix Δ A is the identity matrix. Then, there is no need to update the original registration key matrix A. In fact, as shown below, the original registration key matrix A and the new verification key matrix Δ B B and the new auxiliary key matrix MΔ B -1 Even if we calculate the product using<x,y> can be obtained correctly. (A T x) T (MΔ B -1 )(Δ B By)=x T (AMΔ B -1 Δ B B) y = x T (AMB)y=x T (AA -1 B -1 B) y = x T y=<x,y>
[0073] In this way, by updating the key while keeping the registration key matrix A unchanged, the registration secret vector A stored in the verification device 130 T There is no need to update x. T Since x can be large, by reducing the update frequency compared to the matching key matrix B and the auxiliary key matrix M, it is possible to reduce the amount of processing required to update the key.
[0074] [Fourth embodiment] In the fourth embodiment, a key update method is devised to make the matching key matrix invariant. Here, as in the first embodiment, the original registration key matrix is A, the original matching key matrix is B, and the original auxiliary key matrix is M=(BA). -1 As described in the description of key updating in the first embodiment, two other randomly selected regular matrices Δ A , Δ B Prepare a new registration key matrix AΔ A Let the new matching key matrix be Δ B Let B be the new auxiliary key matrix and let Δ A -1 MΔ B -1 This allows you to update the key.
[0075] In the fourth embodiment, one regular matrix Δ A The elements of are random numbers, and the new registration key matrix is AΔ A Let the new auxiliary key matrix be Δ A -1 M=Δ A -1 (BA) -1 =(BAΔ A ) -1 On the other hand, the regular matrix Δ A is the identity matrix. Then, there is no need to update the original matching key matrix B. In fact, the new registration key matrix AΔ A and the original matching key matrix B and the new auxiliary key matrix Δ A -1 Even if we use M to calculate the product, the inner product of the registration feature vector x and the matching feature vector y is<x,y> can be obtained correctly. ((AΔ A ) T x) T (Δ A -1 M)(By)=x T (AΔ A (Δ A -1 M)B)y=x T (AMB)y=x T (AA -1 B -1 B) y = x T y=<x,y>
[0076] As an example, consider the following usage scenario. Registration is performed at a dedicated terminal placed in a specific location such as a store, authentication is performed by extracting biometric information using each user's smartphone or other device, and matching with the registered information is performed on the service provider's server. In this scenario, it is easy to update the registration key and auxiliary key, which are managed by the service provider, but it is difficult to update the matching key, which is widely distributed by embedding it in smartphone apps or other devices, without the cooperation of each user. In this usage scenario, the key update possibility can be increased by updating the key while keeping the matching key matrix B unchanged.
[0077] [Fifth embodiment] The fourth embodiment described below is an embodiment that further enhances the security of the first embodiment. Specifically, the fourth embodiment can improve the resistance to key leakage more than the first embodiment. For example, if multiple pairs of registered feature vectors and their corresponding registered secret vectors are leaked due to an unforeseen event, there is a risk that the registered key matrix may be inferred from the multiple leaked registered feature vectors and registered secret vectors. Note that the same applies to the case where a pair of a matching feature vector and a matching secret vector is leaked.
[0078] The conditions under which the registration key matrix can be identified from multiple leaked registration feature vectors and registration secret vectors can be reduced to the conditions under which simultaneous equations can be solved. In other words, the relationship between the registration feature vector x, the registration secret vector t, and the registration key matrix A can be expressed by the simultaneous equation A. T Since x=t, the simultaneous equations can be solved under the condition that the number of known constraint equations is greater than or equal to the number of unknown variables.
[0079] Here, the simultaneous equation A T x=t has n constraints and n variables 2 +2n. Note that the variable is n 2 +2n are n for the registered feature vector x, n for the registered secret vector t, and n for the registered key matrix A. 2 is the sum of the pieces.
[0080] Among these n 2 +2n variables, if one registered feature vector x leaks, n variables change from unknown variables to known variables, and if one registered secret vector x leaks, n variables also change from unknown variables to known variables. Furthermore, when k pairs of the registered feature vector x and the registered secret vector t leak, the number of known constraint equations is kn (A T There are k equations of x=t), and the unknown variables are n 2 of the registered key matrix A that is commonly used. Summarizing this relationship results in the following table.
[0081]
Table 1
[0082] As can be understood from the above relationship, if the number k of pairs of the leaked registered feature vector and the registered secret vector satisfies k < n, the registered key matrix cannot be specified.
[0083] However, if the number of pairs of the leaked registered feature vector and the registered secret vector is n or more, it can be said that the registered key matrix can be specified. Therefore, in the fourth embodiment, the following measures are taken to prevent such a situation from occurring.
[0084] First, the generation of the registered secret vector using the same registered key matrix A is limited to less than n pairs. When there are n pairs or more, a new registered key matrix A is used. At the time of verification, the verification secret vector is generated using the verification key matrix corresponding to each registered key matrix, and the verification secret vector is verified against the registered secret vector. Furthermore, when the number of times of verification using the same verification key matrix is n or more, there is a possibility that the verification key matrix B leaks from the pair of the verification feature vector and the verification secret vector. Therefore, the verification key matrix B is updated every n - 1 times.
[0085] Here, when the degree of the registered key matrix and the registered feature vector is n = 11, an example is given where 100 registered feature vectors are registered and verified.
[0086] First, the registration key matrix used for the 1st to 10th registered feature vectors is designated as A1, the registration key matrix used for the 11th to 20th registered feature vectors is designated as A2, and so on. 10 The registered secret vector generated using these registration key matrices is as follows: A1 T x1,A1 T x2,…,A1 T x 10 ,A2 T x 11 ,A2 T x 12 ,…,A2 T x 20 ,…,A 10 T x 91 ,A 10 T x 92 ,…,A 10 T x 100
[0087] During matching, for each matching feature vector, each registration key matrix A1,...,A 10 The matching key matrix B1,...,B 10 In other words, the secret vectors generated from the matching feature vector y are B1y, B2y, ..., B 10 y. Then, these matching secret vectors B i y and each registered secret vector A i T x j and are compared with each other.
[0088] However, if the above matching is repeated 11 times or more, there is a possibility that the key may be leaked. Therefore, every 10 times, a regular matrix Δ1,...,Δ 10 and generate each matching key matrix B i Δ i B i Update to.
[0089] In the fifth embodiment, as described above, the number of registered secret vectors using the same registration key matrix is made less than a predetermined natural number n, and the second conversion device updates the matching key matrix so that the number of times matching is performed using the same matching key matrix does not exceed the predetermined natural number n, thereby preventing vulnerability caused by leakage of n or more pairs of registered feature vectors and registered secret vectors for the same registration key matrix or pairs of matching feature vectors and matching secret information vectors for the same matching key matrix.
[0090] [Sixth embodiment] The sixth embodiment described below is also an embodiment with enhanced security. In the verification system described above, the order n of the registered feature vector is the same as the order n of the registered key matrix. Therefore, if a configuration in which features are simply arranged as the configuration of the registered feature vector is adopted, security such as key leakage resistance will be restricted by the number of features. Therefore, the sixth embodiment is devised to improve security without being restricted by the number of features.
[0091] Let two mutually orthogonal vectors be x'=(r1,r2,…,r p ) and y'=(q1,q2,…,q p ), then x=(x1,x2,…,x m, r1,r2,…,r p ) and y=(y1,y2,…,y m, q1,q2,…,q p ) is x''=(x1,x2,…,x m ) and y''=(y1,y2,...,y m )
[0092] So, x''=(x1,x2,…,x m ) and y''=(y1,y2,...,y m ) is composed of features, and two mutually orthogonal vectors are defined as x'=(r1,r2,...,r p ) and y'=(q1,q2,…,q p ) and register the feature vector x=(x1,x2,…,x m, r1,r2,…,r p) and the matching feature vector y=(y1,y2,…,y m, q1,q2,…,q p ), the value of the dot product does not change.
[0093] For example, the two mutually orthogonal vectors x' and y' to be added can be constructed as follows: In the first method, all elements of one of x' and y' are random numbers, and the other is constructed from random numbers except for one element, and the remaining element is adjusted so that the two vectors x' and y' are orthogonal to each other. With this method, x' and y' are determined when the key is generated, and the same x' and y' are used every time in the registration flow.
[0094] In the second method, for p' between 0 and p, x' is a vector consisting of p' random numbers and p - p' 0s, and y' is a vector consisting of p' 0s and p - p' random numbers. In this method, q is determined during key generation or prior setup, and the random numbers included in x' and y' are selected independently when generating the confidential vector.
[0095] In the third method, as shown in Figure 7, for p' between 2 and p-2, x' is a vector consisting of p' fixed random numbers, p-p'-1 random numbers independently selected each time, and one balancing value, and y' is a vector consisting of p'-1 random numbers independently selected each time, one balancing value, and p-p' fixed random numbers. In this method, a fixed random number vector (r1, r2, ..., r p’ ) and (q p’+1 ,q p’+2 ,…,q p ) is determined. When generating a secret vector, a random number vector (r p’+1 ,r p’+2 ,…,r p-1 ) and (q1,q2,…,q p’-1 ) is selected, and then the two dot product values <(r1,r2,…,r p’ ),(q1,q2,…,q p’ )> and <(r p’+1 ,r p’+2 ,…,r p ),(qp’+1 , q p’+2 , …, q p )> becomes s and -s for r p and q p’ are selected. That is, the registered feature vector x = (x1, x2, …, x m, r1, r2, …, r p ) and the collation feature vector y = (y1, y2, …, y m, q1, q2, …, q p )'s inner product is the same as the inner product of x'' = (x1, x2, …, x m ) and y'' = (y1, y2, …, y m ).
[0096] That is, even if the degree of the feature is m, by adding orthogonal vectors of degree p, the degree n of the registered key matrix and the collation key matrix can be expanded to m + p. Furthermore, a random number component that is independently selected each time is added to both the registered feature vector and the collation feature vector. This can improve the leakage resistance of the key and the original feature vector. The following table shows the leakage resistance of the key.
[0097] [Table 2]
[0098] As can be understood from the above relationship, if the number k of pairs of leaked registered feature vectors and registered secret vectors satisfies k < m + p, the registered key matrix cannot be specified. That is, even if the number of features is p, by adding orthogonal vectors of degree p, leakage resistance up to the number k of pairs of leaked registered feature vectors and registered secret vectors can be obtained. If the idea of this embodiment is combined with the second to fourth embodiments, it is possible to more efficiently prevent vulnerabilities.
[0099] [Embodiment 7] In the seventh embodiment, the configurations of the registered feature vector and the collation feature vector are devised so that the inner product of the registered feature vector and the collation feature vector becomes the score between the registered information and the collation information referring to the score table.
[0100] When the score for a feature value cannot be expressed by a simple polynomial, a method of assigning a score by referring to a score table is sometimes adopted. For a feature vector, the score table assigns a score to each value of each element of the vector, and the sum of the scores for all elements is the final score.
[0101] For example, in the score table below, if the registration feature vector is (0,0,0) and the matching feature vector is (0,1,1), the table lookup result for the first dimension is chart(0,0)=1, the table lookup results for the second and third dimensions are chart(0,1)=-1, and the score is score((0,0,0),(0,1,1))=1-1-1=-1.
[0102] [Table 3]
[0103] Even when scoring using such a score table, the score can be calculated by converting each value of the feature into a vector representation where the element has a value of 1. The vector representation of each value of the feature is to represent each component i∈[0,L] of the feature as an L+1-dimensional vector where the i-th dimension is 1 and the others are 0. For example, when L=1, 0 is represented as (1,0) (i.e., the 0th element is 1 and the others are 0), and 1 is represented as (0,1). Then, the table lookup calculation using the above table can be expressed using matrix operations as follows:
[0104]
number
[0105] Using the above relationship, it is also possible to calculate table lookups for multiple components collectively by multiplying a vector and a matrix. For example, if the registered feature vector x is (0,0,0), each component 0 in the registered feature vector (0,0,0) for each component is expressed as a vector (1,0) using the above relationship, and the concatenation of these is x' = (1,0,1,0,1,0). Also, if the matching feature vector y is (0,1,1), then similarly y' = (1,0,0,1,0,1).
[0106] In this way, if the registration feature vector x and the matching feature vector y are expressed as x'=(1,0,1,0,1,0) and y'=(1,0,0,1,0,1), the above score table can be expressed as a matrix C as follows: score((0,0,0),(0,1,1)) <x’,Cy’> This becomes:
[0107]
number
[0108] In fact, as follows:<x’,Cy’> Calculating this gives us score((0,0,0),(0,1,1)).
[0109]
number
[0110] The verification system according to the seventh embodiment uses the above relationship to refer to the score table and verify the registered information and the verification information. FIG. 6 is a schematic diagram of the verification system according to the seventh embodiment. Note that the verification system 200 according to the seventh embodiment has many components in common with the verification system 100 according to the first embodiment. Therefore, while the description of the verification system 200 according to the seventh embodiment will be omitted as appropriate, the omitted components are assumed to be common to the verification system 100 according to the first embodiment.
[0111] As shown in Figure 6, the verification system 200 uses a key distributed by a key generation device 240 to verify the registration information input to a first conversion device 210 and the verification information input to a second conversion device 220 using a verification device 230.
[0112] The key generation device 240 generates a first regular matrix of the degree of a predetermined natural number n selected at random, and transmits this first regular matrix to the first conversion device 210 as the registration key matrix A. The key generation device 240 further generates a second regular matrix of the degree of a predetermined natural number n selected at random, and transmits this second regular matrix to the second conversion device 220 as the verification key matrix B. The key generation device 240 then 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.
[0113] Here, the auxiliary key matrix M is a matrix product obtained by inserting a score table matrix C, which is a matrix representation of the score table, between the registration key matrix A and the matching key matrix B. In other words, the auxiliary key matrix is M=A -1 CB -1 As explained above, the score table matrix C is formed by arranging the score tables to be referenced on a diagonal line.
[0114] The first conversion device 210 generates a registered feature vector x' from the registered information. Here, as described above, the first conversion device 210 expresses each component i∈[0,L] in the registered information as an L+1-dimensional vector in which the i-th dimension is 1 and the others are 0. If the registered information itself is a vector, each component is expressed as a vector, and the registered feature vector x' is generated by concatenating these vectors.
[0115] The first conversion device 210 generates a registered secret vector by calculating the product of the registered feature vector and the registered key matrix A. The first conversion device 210 transmits the generated registered secret vector to the matching device 230, and registers it in a storage device 231 in the matching device 230. The storage device 231 may be provided inside the matching device 230, or may be provided outside the matching device 230.
[0116] As in the case of the registered information described above, the second conversion device 220 generates a matching feature vector y′ from the matching information, and generates a matching secret vector by calculating the product of the matching feature vector and the matching key matrix B. The second conversion device 220 transmits the generated matching secret vector to the matching device 230.
[0117] The verification device 230 calculates the vector-matrix product of the verification secret vector received from the second conversion device 220, the registered secret vector registered in the storage device 231, and the auxiliary key matrix M. The calculation of the product here is as follows: T The result of this calculation is the score score(x, y) between the registered information x and the matching information y, calculated by referring to the score table incorporated into the score table matrix C. (A T x') T M(By')=x' T (AA -1 CB -1 B) y' = x' T Cy'=<x’,Cy’> =score(x,y)
[0118] As described above, the verification system 200 according to the seventh embodiment can verify the registration information and verification information by referring to the score table. Note that the key generation device 240 transmits to the verification device 230 in the form of a matrix product in which the score table information is inserted between a randomly selected registration key matrix A and a verification key matrix B, and therefore the information is essentially encrypted. In other words, the registration information can be verified against the verification information while the score table information itself is kept confidential.
[0119] Furthermore, in the seventh embodiment, since the information of the score table is included only in the auxiliary key matrix M, the same registered secret vector x' and matching secret vector y' can be used even when there are multiple score tables. In other words, even when there are multiple score tables, there is no need to store separate registered secret vectors x' in the matching device 230. Furthermore, even when there are multiple score tables, it is sufficient to calculate the same registered secret vector x' and matching secret vector y', so that generation can be performed in a time that is independent of the number of score tables.
[0120] Next, it will be explained that the above-described verification system 200 can also update the key in the same way as in the first embodiment.
[0121] Two other randomly chosen regular matrices Δ A , Δ B For the original registration key matrix A, prepare a new registration key matrix AΔ A For the original matching key matrix B, the new matching key matrix is Δ B Let B be the original auxiliary key matrix M = A -1 CB -1 For , the new auxiliary key matrix is Δ A -1 MΔ B -1 =Δ A -1 A -1 CB -1 Δ B -1 =(AΔ A ) -1 C(Δ B B) -1 Let's say.
[0122] The new registration key matrix AΔ updated in this way A and the matching key matrix Δ B Even if B is used, the registered secret vector (AΔ A ) T x' and the new auxiliary key matrix Δ A -1 MΔ B -1 and the matching secret vector Δ BIf the product of the vector and matrix in By' is calculated, it will match the score score(x, y) of the registered information x and the matching information y calculated by referring to the score table incorporated in the score table matrix C. ((AΔ A ) T x') T (Δ A -1 MΔ B -1 )(Δ B By')=x' T (AΔ A (Δ A -1 MΔ B -1 )Δ B B) y' = x' T (AMB)y'=x' T (AA -1 CB -1 B) y' = x' T Cy'=<x’,Cy’> =score(x,y)
[0123] Furthermore, the registered secret vectors that have already been registered are also updated. Specifically, if the registered secret vectors that have been anonymized using the original registration key matrix A are updated to A, T If x, then Δ A T (A T x') is the updated registered secret vector. This updated registered secret vector Δ A T (A T x') is the new registration key matrix AΔ A Δ A T (A T x')=Δ A T A T x'=(AΔ A ) T This can be seen from the fact that it is x'.
[0124] In addition, the updated registered secret vector (AΔ A ) T x' and the new auxiliary key matrix Δ A -1 MΔ B-1 For example, even if matching is attempted using the secret matching vector By′ generated using the matching key matrix B before the update, score(x, y) cannot be obtained as follows: ((AΔ A ) T x') T (Δ A -1 MΔ B -1 )(By')=x' T (AΔ A Δ A -1 MΔ B -1 B) y' = x' T (AMΔ B B) y' = x' T (CB -1 Δ B B) y' ≠ score(x,y)
[0125] In addition, in the key update in this embodiment, as in the second, third, and fourth embodiments, it is possible to update the key while keeping the auxiliary key matrix M unchanged and update the key while keeping the registered key matrix A unchanged.
[0126] [Eighth embodiment] In this embodiment, like the fifth embodiment, security is enhanced by extending the registration secret vector x' and the collation secret vector y' with vectors having random numbers as elements.
[0127] Specifically, (r1,r2,…,r p ) and (s1,s2,…,s p ) is a vector with random numbers as elements, and the registered secret vector x' is (r1, r2, ..., r p ) are combined into (x'||(r1,r2,...,r p )) and the matching secret vector y' is (s1, s2, ..., s p ) are combined into (y'||(s1,s2,...,s p)). Then, by expanding the score table matrix C as follows, it is possible to increase the dimensions of the registration key matrix and the verification key matrix while keeping the score values unchanged. This means that it is possible to reduce the possibility that the registration key matrix and the verification key matrix will be identified.
[0128]
number
[0129] Some or all of the above embodiments can be described as, but are not limited to, the following supplementary notes. [Appendix 1] a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a verification key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the verification key matrix; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating the product of the registration feature vector and the registration key matrix received from the key generation device; a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix received from the key generation device; a verification device that verifies the registration information and the verification information by calculating a vector-matrix product of the registration secret vector received from the first conversion device, the verification secret vector received from the second conversion device, and the auxiliary key matrix received from the key generation device; A matching system comprising: [Appendix 2] 2. The verification system according to claim 1, wherein the key generation device updates the registration key matrix and the verification key matrix while keeping the auxiliary key matrix unchanged. [Appendix 3] 2. The verification system according to claim 1, wherein the key generation device updates the verification key matrix and the auxiliary key matrix while keeping the registration key matrix unchanged. [Appendix 4] 4. The matching system according to claim 1, wherein the registration feature vector and the matching feature vector are expanded using a vector having random numbers as elements. [Appendix 5] 5. The matching system according to claim 1, wherein the registered feature vector and the matching feature vector are configured so that the inner product of the registered feature vector and the matching feature vector is the square of the Euclidean distance between the registered information and the matching information. [Appendix 6] 5. The verification system according to claim 1, wherein the auxiliary key matrix is obtained by a matrix multiplication in which a score table matrix, which represents a score table as a matrix, is inserted between the registration key matrix and the verification key matrix. [Appendix 7] The matching system according to claim 6, wherein the registered feature vector and the matching feature vector are vector representations converted into positions where 1 is stored in the elements of each value of the feature. [Appendix 8] 8. The verification system according to claim 1, wherein the key generation device generates the registration key matrix and the verification key matrix by excluding irregular matrices from a square matrix in which random numbers are assigned to all elements. [Appendix 9] The verification system according to any one of Supplementary Note 1 to Supplementary Note 8, wherein the verification device includes a storage device that stores the registered secret vector received from the first conversion device. [Appendix 10] a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and the registration key matrix; a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix; and a matching device that calculates a vector-matrix product of the registration secret vector received from the first conversion device, and the matching secret vector and auxiliary key matrix received from the second conversion device, generating a randomly selected first regular matrix as the registration key matrix; A randomly selected second regular matrix is generated 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 claim 10, wherein the registration key matrix and the verification key matrix are updated while the auxiliary key matrix is kept unchanged. [Appendix 12] 11. The key generation device according to claim 10, wherein the matching key matrix and the auxiliary key matrix are updated while the registration key matrix is kept unchanged. [Appendix 13] 13. The key generation device according to claim 10, wherein an auxiliary key matrix is generated from a matrix product obtained by inserting a score table matrix, which represents a score table as a matrix, between the registration key matrix and the matching key matrix. [Appendix 14] a matching device that matches registration information with the matching information by using a key generation device that generates a registration key, a matching key, and an auxiliary key; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector from the registration feature vector and the registration key received from the key generation device; and a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector from the matching feature vector and the matching key received from the key generation device, a matching device that calculates a matching result between the registration information and the matching information using the registration secret vector received from the first conversion device, the matching secret vector received from the second conversion device, and the auxiliary key received from the key generation device. [Appendix 15] a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the matching key matrix; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and the registration key matrix received from the key generation device; and a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix received from the key generation device, a matching device that matches the registration information with the matching information by calculating a vector-matrix product of the registration secret vector received from the first conversion device, the matching secret vector received from the second conversion device, and the auxiliary key matrix received from the key generation device. [Appendix 16] a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the matching key matrix; a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix received from the key generation device; and a matching device that calculates a vector-matrix product of the matching secret vector received from the second conversion device, the registration secret vector, and the auxiliary key matrix received from the key generation device, a first conversion device that generates a registered feature vector from input registered information, generates the registered secret vector by calculating the product of the registered feature vector and the registered key matrix received from the key generation device, and transmits the registered secret vector to the matching device. [Appendix 17] a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a verification key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the verification key matrix; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and the registration key matrix received from the key generation device; and a verification device that calculates a vector-matrix product of 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, a second conversion device that generates a matching feature vector from input matching information, generates the matching secret vector by calculating the product of the matching feature vector and the matching key matrix received from the key generation device, and transmits the matching secret vector to the matching device. [Appendix 18] 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, comprising: 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; the key generation device generates an auxiliary key matrix from a matrix product of the registration key matrix and the verification key matrix; the first conversion device generates a registered feature vector from the registered information; the first conversion device generates a registered secret vector by calculating a product of the registered feature vector and the registered key matrix; the second conversion device generates a matching feature vector from the matching information; the second conversion device generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix; a matching device for matching the registration information with the matching information by calculating a vector-matrix product of the registration secret vector, the matching secret vector, and the auxiliary key matrix. [Appendix 19] A key generation method for verifying registration information and verification information, using a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and the registration key matrix, a second conversion device that generates a verification feature vector from input verification information and generates a verification secret vector by calculating a product of the verification feature vector and the verification key matrix, and a verification device that calculates a vector-matrix product of the registration secret vector received from the first conversion device and the verification secret vector received from the second conversion device, generating a randomly selected first regular matrix as the registration key matrix; A randomly selected second regular matrix is generated as a matching key matrix; a key generation method for generating an auxiliary key matrix from a matrix product of the registration key matrix and the verification key matrix; [Appendix 20] a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the matching key matrix; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and the registration key matrix received from the key generation device; and a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix received from the key generation device, A matching method for matching the registration information with the matching information by calculating the registration secret vector received from the first transformation device, the matching secret vector received from the second transformation device, and the auxiliary key matrix first transformation received from the key generation device. [Appendix 21] a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the matching key matrix; a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix received from the key generation device; and a matching device that calculates a vector-matrix product of the matching secret vector received from the second conversion device, the registration secret vector, and the auxiliary key matrix received from the key generation device, A first conversion method that generates a registered feature vector from input registered information, generates the registered secret vector by calculating the product of the registered feature vector and the registered key matrix received from the key generation device, and transmits the registered secret vector to the matching device. [Appendix 22] a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a verification key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the verification key matrix; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and the registration key matrix received from the key generation device; and a verification device that calculates a vector-matrix product of the registration secret vector received from the first conversion device, an input verification secret vector, and the auxiliary key matrix received from the key generation device, a second conversion method for generating a matching feature vector from input matching information, generating the matching secret vector by calculating a product of the matching feature vector and the matching key matrix received from the key generation device, and transmitting the matching secret vector to the matching device.
[0130] The disclosures of the above-cited patent documents and other documents are incorporated herein by reference. Modifications and adjustments of the embodiments and examples are possible within the scope of the entire disclosure of the present invention (including the claims), and further based on the basic technical concepts thereof. Furthermore, various combinations and selections (including partial deletions) of various disclosed elements (including elements of each claim, each element of each embodiment or example, each element of each drawing, etc.) are possible within the scope of the entire disclosure of the present invention. In other words, the present invention naturally embraces various modifications and alterations that would be possible by a person skilled in the art in accordance with the entire disclosure and technical concepts, including the claims. In particular, with regard to the numerical ranges set forth herein, any numerical value or subrange within that range should be construed as specifically set forth, even if not otherwise specified. Furthermore, the disclosures of the above-cited documents, when used in part or in whole in combination with the disclosures herein as part of the disclosure of the present invention, in accordance with the spirit of the present invention, are also deemed to be included in the disclosures of this application. [Explanation of symbols]
[0131] 10 Hardware Configuration 11 CPU 12 Main storage 13 Auxiliary storage device 14 IF Section 100,200 matching system 110,210 First conversion device 120,220 Second conversion device 130,230 Collation device 131,231 Storage device 140,240 Key generation device
Claims
1. a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a verification key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the verification key matrix; a first conversion device that generates a registered feature vector from input registered information and generates a registered secret vector by calculating a product of the registered feature vector and the registered key matrix received from the key generation device; a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix received from the key generation device; a verification device that verifies the registration information and the verification information by calculating a vector-matrix product of the registration secret vector received from the first conversion device, the verification secret vector received from the second conversion device, and the auxiliary key matrix received from the key generation device; A matching system comprising:
2. The verification system according to claim 1 , wherein the key generation device updates the registration key matrix, the verification key matrix, and the registration secret vector while keeping the auxiliary key matrix unchanged.
3. 2. The verification system according to claim 1, wherein the key generation device updates the verification key matrix and the auxiliary key matrix while keeping the registration key matrix unchanged.
4. The verification system according to claim 1 , wherein the registration feature vector and the verification feature vector are expanded using vectors having random numbers as elements.
5. 5. The verification system according to claim 1, wherein the registered feature vector and the matching feature vector are configured so that an inner product of the registered feature vector and the matching feature vector is the square of the Euclidean distance between the registered information and the matching information.
6. 5. The verification system according to claim 1, wherein the auxiliary key matrix is obtained by a matrix multiplication in which a score table matrix, which is a matrix representation of a score table, is inserted between the registration key matrix and the verification key matrix.
7. The matching system according to claim 6 , wherein the registration feature vector and the matching feature vector are vector expressions converted into positions where 1 is stored in elements of each value of the feature.
8. 8. The verification system according to claim 1, wherein the key generation device generates the registration key matrix and the verification key matrix by excluding irregular matrices from a square matrix in which random numbers are assigned to all elements.
9. The verification system according to claim 1 , wherein the verification device includes a storage device that stores the registered secret vector received from the first conversion device.
10. a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and a registration key matrix; a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and a matching key matrix; and a matching device that matches the registration information and the matching information by calculating a vector-matrix product of the registration secret vector received from the first conversion device and the matching secret vector and an auxiliary key matrix received from the second conversion device, generating a randomly selected first regular matrix as the registration key matrix; generating 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, and updates the registration key matrix and the verification key matrix while keeping the auxiliary key matrix unchanged;
11. a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and a registration key matrix; a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and a matching key matrix; and a matching device that matches the registration information and the matching information by calculating a vector-matrix product of the registration secret vector received from the first conversion device and the matching secret vector and an auxiliary key matrix received from the second conversion device, generating a randomly selected first regular matrix as the registration key matrix; generating 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, and updates the verification key matrix and the auxiliary key matrix while keeping the registration key matrix unchanged;
12. 12. The key generation device according to claim 10, wherein an auxiliary key matrix is generated from a matrix product obtained by inserting a score table matrix, which is a matrix representation of a score table, between the registration key matrix and the verification key matrix.
13. a matching device that matches registration information with matching information by using a key generation device that generates a registration key, a matching key, and an auxiliary key; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector from the registration feature vector and the registration key received from the key generation device; and a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector from the matching feature vector and the matching key received from the key generation device, a matching device that calculates a matching result between the registration information and the matching information using the registration secret vector received from the first conversion device, the matching secret vector received from the second conversion device, and the auxiliary key received from the key generation device.
14. a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the matching key matrix; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and the registration key matrix received from the key generation device; and a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix received from the key generation device, a matching device that matches the registration information with the matching information by calculating a vector-matrix product of the registration secret vector received from the first conversion device, the matching secret vector received from the second conversion device, and the auxiliary key matrix received from the key generation device.
15. 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 method comprising: 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; the key generation device generates an auxiliary key matrix from a matrix product of the registration key matrix and the verification key matrix; the first conversion device generates a registered feature vector from the registered information; the first conversion device generates a registered secret vector by calculating a product of the registered feature vector and the registered key matrix; the second conversion device generates a matching feature vector from the matching information; the second conversion device generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix; a matching device for matching the registration information with the matching information by calculating a vector-matrix product of the registration secret vector, the matching secret vector, and the auxiliary key matrix.
16. a key generation device that generates a randomly selected first regular matrix as a registration key matrix, generates a randomly selected second regular matrix as a matching key matrix, and generates an auxiliary key matrix from a matrix product of the registration key matrix and the matching key matrix; a first conversion device that generates a registration feature vector from input registration information and generates a registration secret vector by calculating a product of the registration feature vector and the registration key matrix received from the key generation device; and a second conversion device that generates a matching feature vector from input matching information and generates a matching secret vector by calculating a product of the matching feature vector and the matching key matrix received from the key generation device, a matching method for matching the registration information with the matching information by calculating a vector-matrix product of the registration secret vector received from the first conversion device, the matching secret vector received from the second conversion device, and the auxiliary key matrix received from the key generation device.
Citation Information
Patent Citations
JP1974029136A
JP1974061214A
Method, apparatus and system for biometric authentication
JP2009129292A
Personal safety verification system and similarity search method for data encrypted for confidentiality
WO2015151155A1