Verification system, verification method, and verification program
The matching system improves cancelable biometrics security by using random matrices and inverse matrices to generate secret vectors, addressing vulnerabilities in conventional systems and ensuring secure feature matching and key management.
Patent Information
- Application Number
- JP2023570552
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-27
- Publication Date
- 2025-08-20
- 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 registration and matching keys that are vulnerable to leakage, compromising security.
A matching system using randomly selected regular matrices for registration and inverse matrices for matching, generating secret vectors through matrix multiplication, and calculating inner products for secure feature matching, with key updates to prevent leakage.
Enhances the security of cancelable biometrics by preventing inference of original features and ensuring secure key management, even with data leakage.
Smart Images

Figure 0007726300000008 
Figure 0007726300000009 
Figure 0007726300000010
Abstract
Description
[Technical Field]
[0001] The present invention relates to a verification system, a verification method, and a verification program. [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 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 matching method, and a matching program 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 matching system that matches registration information input to a first conversion device with verification information input to a second conversion device using a matching device, in which the first conversion device generates a registration feature vector from the registration information, and generates a registration secret vector by calculating a product of the registration feature vector and the registration key matrix using a randomly selected regular matrix as a registration key matrix, and transmits the registration secret vector to the matching device, the second conversion device generates a verification feature vector from the matching information, and generates a verification secret vector by calculating a product of the verification feature vector and the verification key matrix using an inverse matrix of the registration key matrix as a matching key matrix, and transmits the verification secret vector to the matching device, and the matching device matches the registration information with the verification information by calculating an inner product of the registration secret vector and the verification secret vector.
[0013] In a second aspect of the present invention, there is provided a matching method for matching registration information with verification information, the method comprising: generating a registration feature vector from the registration information; using a randomly selected regular matrix as a registration key matrix, calculating a product of the registration feature vector and the registration key matrix to generate a registration secret vector; generating a verification feature vector from the verification information; using an inverse matrix of the registration key matrix as a verification key matrix to calculate a product of the verification feature vector and the verification key matrix to generate a verification secret vector; and calculating an inner product of the registration secret vector and the verification secret vector, thereby matching the registration information with the verification information.
[0014] A third aspect of the present invention provides a matching program for causing a computer to cause a matching device to match input registration information and matching information, the matching program comprising: generating a registration feature vector from the registration information; calculating a product of the registration feature vector and the registration key matrix using a randomly selected regular matrix as a registration key matrix to generate a registration secret vector; transmitting the registration secret vector to the matching device; generating a matching feature vector from the matching information; calculating a product of the matching feature vector and the matching key matrix using an inverse matrix of the registration key matrix as a matching key matrix to generate a matching secret vector; transmitting the matching secret vector to the matching device; and calculating an inner product of the registration secret vector and the matching secret vector to cause the matching device to match the registration information and the matching information. This program can be recorded on a computer-readable storage medium. The storage medium can be a non-transient medium such as a semiconductor memory, a hard disk, a magnetic recording medium, or an optical recording medium. The present invention can also be embodied as a computer program product. [Effects of the Invention]
[0015] According to each aspect of the present invention, it is possible to provide a matching system, a matching method, and a matching program that contribute to improving the security of cancelable biometrics. [Brief explanation of the drawings]
[0016] [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 the first conversion method according to the first embodiment. [Figure 3] FIG. 3 is a system flow diagram showing the second conversion method according to the first embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of the hardware configuration of an apparatus used in the embodiment. [Figure 5]FIG. 5 is a diagram showing an example of extension of the registered feature vector and the matched feature vector. DETAILED DESCRIPTION OF THE INVENTION
[0017] 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.
[0018] [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 verification device 130 to verify registration information input to a first conversion device 110 and verification information input to a second conversion device 120. 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.
[0019] 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.
[0020] The first conversion device 110 uses a randomly selected regular matrix as a registration key matrix to calculate the product of the registration feature vector and the registration key matrix, thereby generating a registration secret vector. Here, the product of the registration feature vector and the registration key matrix 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 registration feature vector, and if the degree of the registration feature vector is a natural number n, the regular matrix is an n×n matrix.
[0021] Also, one way to select a random regular matrix is to prepare a list of nxn 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 so-called pseudo-random number sequences. 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 designed to make it virtually impossible to predict.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] The second conversion device 120 uses the inverse matrix of the registration key matrix generated as described above as a matching key matrix to calculate the product of the matching feature vector and the matching key matrix, thereby generating a matching secret vector. This product of the matching feature vector and the matching key matrix is the same as the product of the registration 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 it uses a matching key matrix that is the inverse matrix of the registration key matrix, instead of the registration key matrix used when generating the registration secret vector. However, as described above, the first conversion device 110 and the second conversion device 120 can be integrated into the same device.
[0026] The second conversion device 120 transmits the collation secret vector generated as described above to the collation device 130.
[0027] The matching device 130 calculates the dot product of the matching secret vector received from the second conversion device 120 and the registered secret vector registered in the storage device 131. As will be described later, this calculation of the dot product coincides with the dot product of the registered feature vector and the matching feature vector. Since the dot 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.
[0028] Here, the principle on which the above-described verification system 100 functions will be described.
[0029] First, let A be the registration key matrix. In other words, registration key matrix A is a randomly selected n×n regular matrix. On the other hand, let B be the verification key matrix. Since verification key matrix B is the inverse matrix of registration key matrix A, B=A -1 is.
[0030] 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.
[0031] During matching, the inner product of the registered secret vector t and the matching secret vector s is calculated. Note that the matching key matrix B is the inverse matrix of the registration key matrix A, and as shown below, the inner product of the matching secret vector and the registered secret vector matches the inner product of the registered feature vector x and the matching feature vector y. T x,By>=(A T x) T (By)=xT (AB)y=x T y=<x,y>
[0032] 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 index of similarity.
[0033]
number
[0034] For example, Euclidean distance is also often used as an index of vector similarity. n ) T and y=(y1,y2,…,y n ) T The Euclidean distance between two vectors is defined as follows. If the Euclidean distance is small, they are similar, and if it is large, they are dissimilar. As can be seen from the definition given in the following equation, if two vectors x'=(Σx i 2 ,1,x1,x2,…,x n ) T and y'=(1,Σy i 2 ,-2y1,-2y2,…,-2y n ) TTherefore, 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).
[0035]
number
[0036] 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 2 ,1-2y1,1-2y2,…,1-2y n ) T The inner product of these is the Hamming distance itself. Therefore, 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 inner 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).
[0037]
number
[0038] Next, it will be explained that the above-described verification system 100 can update the key.
[0039] Another randomly selected regular matrix Δ is prepared. This regular matrix Δ is also an n×n matrix, just like the registration key matrix and the verification key matrix. When updating the key, this other regular matrix Δ is multiplied by the registration key matrix and the verification key matrix. Specifically, for the original registration key matrix A, let AΔ be the new registration key matrix, and for the original verification key matrix B, let B be the new verification key matrix Δ -1 Let's call it B.
[0040] The updated new registration key matrix AΔ and the verification key matrix Δ -1 Even if B is used, the registered secret vector (AΔ) T x and the matching secret vector Δ -1 If the inner product of By is calculated, it will match the inner product of the registered feature vector x and the matching feature vector y. <(AΔ) T x,Δ -1 By>=((AΔ) T x) T (Δ -1 By)=x T (AΔΔ -1 B) y = x T (AB)y=x T y=<x,y>
[0041] 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 Δ -1 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 Δ T (A T x) is the updated registered secret vector. This updated registered secret vector Δ T (A T x) is the same as the one encrypted using the new registration key matrix AΔ, T (A T x)=Δ T A T x=(AΔ) T This can be seen from the fact that it is x.
[0042] In this way, when updating the key in the verification system 100, the registered feature vector A T Multiplying x by another randomly selected regular matrix Δ gives a new matching key matrix Δ -1 In this way, in the verification system 100 of this embodiment, when it is necessary to invalidate an already registered registered feature vector due to an unforeseen event such as information leakage, the old 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 feature vector unless there is another information leakage.
[0043] (Matching method) 2 and 3 are system flow diagrams illustrating a matching method according to the first embodiment. The matching method illustrated in FIGS. 2 and 3 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. 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. 2 and the second conversion method illustrated in FIG. 3 can be independently and repeatedly performed in any order. That is, the first conversion method illustrated in FIG. 2 can be repeatedly performed as many times as the number of pieces of registration information to be registered, and the second conversion method illustrated in FIG. 3 can be performed at any timing when authentication of the matching information is required.
[0044] 2, when the first conversion method according to the first embodiment is performed, steps S1 to S3 are performed. In step S1, the first conversion device 110 generates a registered feature vector from the registered information. The registered feature vector may be generated from the registered information by simply arranging features extracted from the registered information, but it is also possible to devise a configuration for the registered feature vector as described below.
[0045] Next, in step S2, the first conversion device 110 uses a randomly selected regular matrix as a registration key matrix to calculate the product of the registration feature vector and the registration key matrix, thereby generating a registration secret vector. The configuration of the registration key matrix has already been described. The first conversion device 110 transmits the generated registration secret vector to the matching device 130.
[0046] Next, in step S3, 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 S1 to S3 can be repeated as many times as the number of pieces of registration information to be registered.
[0047] 3, when the second conversion method according to the first embodiment is performed, steps S4 to S6 are performed. In step S4, 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 is a method of generating a registered feature vector from registered information.
[0048] Next, in step S5, the second conversion device 120 uses the inverse matrix of the registration key matrix as the matching key matrix to calculate the product of the matching feature vector and the matching key matrix, thereby generating a matching secret vector. The relationship between the registration key matrix and the matching key matrix, and the configuration of the matching key matrix, etc. have already been explained. The second conversion device 120 transmits the generated matching secret vector to the matching device 130.
[0049] Finally, in step S6, the matching device 130 matches the registered information with the matching information by calculating the inner product of the matching secret vector received from the second conversion device 120 and the registered secret vector registered in the storage device 131.
[0050] In this way, the first embodiment can be implemented as a matching method by combining the first conversion method shown in FIG. 2 and the second conversion method shown in FIG.
[0051] (Example of hardware configuration) FIG. 4 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. 4. However, the hardware configuration example illustrated in FIG. 4 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. 4.
[0052] As shown in FIG. 4, 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.
[0053] 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.
[0054] The auxiliary storage device 13 is, for example, a hard disk drive (HDD), and is capable of storing various 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.
[0055] 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.
[0056] An information processing device employing the above hardware configuration 10 executes the above-mentioned programs to realize the functions of the first conversion device 110, the second conversion device 120, and the collation device 130, for example.
[0057] [Second embodiment] The second embodiment described below is an embodiment that further enhances the security of the first embodiment. Specifically, the second 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.
[0058] The conditions under which the registration key matrix can be inferred 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 as 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.
[0059] Here, the simultaneous equation A TWhen \(x = t\), there are \(n\) constraint equations and the number of variables is \(n\) 2 \(+ 2n\). Among these, the \(n\) 2 \(+ 2n\) variables include \(n\) in the registered feature vector \(x\), \(n\) in the registered secret vector \(t\), and \(n\) 2 in total for the registered key matrix \(A\).
[0060] Among these \(n\) 2 \(+ 2n\) variables, if one of the registered feature vectors \(x\) leaks, \(n\) variables change from unknown variables to known variables. Also, if one of the registered secret vectors \(x\) leaks, \(n\) variables change from unknown variables to known variables. Furthermore, if \(k\) pairs of the registered feature vector \(x\) and the registered secret vector \(t\) leak, the number of known constraint equations changes from \(n\) to \(kn\). Summarizing this relationship results in the following table.
[0061]
Table 1
[0062] 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.
[0063] 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 second embodiment, the following measures are taken to prevent such a situation from occurring.
[0064] First, the generation of the registered secret vector using the same registered key matrix \(A\) is set to less than \(n\) sets. If it is \(n\) sets or more, a new registered key matrix \(A\) is used. At the time of verification, for each registered key matrix, the corresponding verification key matrix is used to generate the verification secret vector, and each verification secret vector is compared with the registered secret vector. Furthermore, if 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\) will leak from the pair of the verification feature vector and the verification secret vector. Therefore, the key is updated every \(n - 1\) times. <Here, an example will be given in which the degree of the registration key matrix and the registration feature vector is n=11, 100 registration feature vectors are registered, and these are compared.
[0066] 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
[0067] 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.
[0068] 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 registration key matrix A i Ai Δ i and update each matching key matrix B i Δ i B i and each registered secret vector A i T x i Δ i T A i T x i Update to.
[0069] In the second 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 or pairs of matching feature vectors and matching secret vectors.
[0070] [Third embodiment] The third 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 third embodiment is devised to improve security without being restricted by the number of features.
[0071] 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 )
[0072] 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.
[0073] 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.
[0074] In another method, for q between 0 and p, x' is a vector consisting of q random numbers and pq 0s, and y' is a vector consisting of q 0s and pq 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 confidentiality vector.
[0075] In the third method, as shown in Figure 5, 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, fixed random number vectors (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 ),(q p’+1 ,q p’+2 ,…,q p )> are s and -s, respectively. p and q p’ In other words, the registered 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 ) is x''=(x1,x2,…,x m ) and y''=(y1,y2,...,y m )
[0076] In other words, even if the order of a feature is m, by adding an orthogonal vector of order p, the order n of the registration key matrix and the matching key matrix can be expanded to m+p. Furthermore, a random number component that is independently selected each time is added to both the registration feature vector and the matching feature vector. This improves the resistance to leakage of the key and the original feature vector. The table below shows the resistance to leakage of the key.
[0077] [Table 2]
[0078] As can be understood from the above relationship, if the number k of pairs of the leaking registered feature amount vector and the registered secret vector and the dimension p of the random number vector added to the registered feature amount satisfy k < m + p, the registered key matrix cannot be specified. That is, even if the degree of the feature amount is m, by adding an orthogonal vector of degree p, it is possible to obtain leakage resistance up to m + p - 1 for the number of pairs of the leaking registered feature amount vector and the registered secret vector. If the device of the present embodiment is combined with the second embodiment, it is possible to more efficiently prevent vulnerability.
[0079] [Fourth Embodiment] In the fourth embodiment, the configurations of the registered feature amount vector and the verification feature amount vector are devised so that the inner product of the registered feature amount vector and the verification feature amount vector becomes the score between the registered information and the verification information referring to the score table.
[0080] When the score for the value of the feature amount cannot be expressed by a simple polynomial, a method of giving a score by referring to a score table may be adopted. For the vector of the feature amount, in the score table, a score is assigned to each value of each element of the vector, and the sum of the scores for all elements is used as the final score.
[0081] For example, in the following score table, for the vectors (0, 1, 2) and (1, 2, 0), table(0, 1) = -1, table(1, 2) = 1, table(2, 0) = -1, and the score is -1.
[0082] [Table 3]
[0083] Even in the scoring using such a score table, it can be calculated by expressing each value of the feature amount in vector form. For each value of the feature amount, if 0 is expressed as (1, 0, 0), 1 as (0, 1, 0), and 2 as (0, 0, 1), for example, table(0, 1) can be expressed using matrix operations as follows.
[0084]
number
[0085] Therefore, if we select a row in the score table according to the value of the registered feature, concatenate the vector representations to form the registered feature vector, and select (1,0,0) or (0,1,0) or (0,0,1) according to the value of the matching feature and concatenate them to form the matching feature vector, we can calculate the score using the dot product, as in the example below. score((0,1,2),(1,1,1)) =(0,-1,-1,-1,2,1,-1,1,2) T (0,1,0,0,1,0,0,1,0) =2
[0086] Some or all of the above embodiments can be described as, but are not limited to, the following supplementary notes. [Appendix 1] A verification system that uses a verification device to verify registration information input to a first conversion device and verification information input to a second conversion device, the first conversion device generates a registration feature vector from the registration information, calculates a product of the registration feature vector and the registration key matrix using a randomly selected regular matrix as a registration key matrix, generates a registration secret vector, transmits the registration secret vector to the verification device, and registers the registration secret vector in a storage device in the verification device; the second conversion device generates a matching feature vector from the matching information, calculates a product of the matching feature vector and the matching key matrix using an inverse matrix of the registration key matrix as a matching key matrix, and generates a matching secret vector, and transmits the matching secret vector to the matching device; The verification device verifies the registration information and the verification information by calculating an inner product of the registration secret vector and the verification secret vector. [Appendix 2] 2. The matching system according to claim 1, wherein the matching device updates the registered feature vector by multiplying the registered feature vector by another randomly selected regular matrix so that matching can be performed using a new matching key matrix. [Appendix 3] the first conversion device reduces the number of registered secret vectors using the same registration key matrix to less than a predetermined natural number n; The verification system according to claim 2, wherein the second conversion device updates the verification key matrix so that the number of times verification is performed using the same verification key matrix does not exceed the predetermined natural number n. [Appendix 4] 4. The matching system according to claim 1, wherein the registered feature vector and the matching feature vector incorporate mutually orthogonal vectors into their corresponding 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 matching 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 a score between the registered information and the matching information with reference to a score table. [Appendix 7] 7. The matching system according to claim 1, wherein the regular matrix is generated by excluding irregular matrices from a square matrix in which random numbers equal to the square of a predetermined natural number n are assigned to each element. [Appendix 8] 8. The verification system according to claim 1, wherein the first conversion device and the second conversion device are integrated into a single device. [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 second conversion device that generates a registered feature vector from registered information, and uses a randomly selected regular matrix as a registered key matrix to calculate a product of the registered feature vector and the registered key matrix, and queries a matching device that stores the registered secret vector, about input matching information; generating a matching feature vector from the matching information, calculating a product of the matching feature vector and the matching key matrix using an inverse matrix of the registration key matrix as a matching key matrix, thereby generating a matching secret vector, and transmitting the matching secret vector to the matching device; The second conversion device is configured such that the matching device matches the registration information with the matching information by calculating an inner product of the registration secret vector and the matching secret vector. [Appendix 11] a first conversion device that generates a matching feature vector from matching information, and registers data related to the registration information in a matching device that performs matching on an input of a matching secret vector generated by calculating a product of the matching feature vector and the matching key matrix using an inverse matrix of a randomly selected registration key matrix as a matching key matrix, generating a registered feature vector from the registered information, and using the registered feature vector as the registered key matrix to calculate a product of the registered feature vector and the registered key matrix to generate a registered secret vector; and transmitting the registered secret vector to the matching device; The matching device matches the registration information with the matching information by calculating an inner product of the registration secret vector and the matching secret vector. [Appendix 12] A verification method for verifying registration information and verification information, comprising: generating a registration feature vector from the registration information; a randomly selected regular matrix is used as a registration key matrix, and a registration secret vector is generated by calculating the product of the registration feature vector and the registration key matrix; generating a matching feature vector from the matching information; using an inverse matrix of the registration key matrix as a matching key matrix, and calculating a product of the matching feature vector and the matching key matrix to generate a matching secret vector; calculating an inner product of the registration secret vector and the verification secret vector, thereby verifying the registration information and the verification information; Matching method. [Appendix 13] A second conversion method for querying input verification information from a verification device that stores a registered secret vector generated by generating a registered feature vector from registered information, calculating a product of the registered feature vector and the registered key matrix using a randomly selected regular matrix as a registered key matrix, the second conversion method comprising: generating a matching feature vector from the matching information, calculating a product of the matching feature vector and the matching key matrix using an inverse matrix of the registration key matrix as a matching key matrix, thereby generating a matching secret vector, and transmitting the matching secret vector to the matching device; a second conversion method in which the matching device matches the registration information with the matching information by calculating an inner product of the registration secret vector and the matching secret vector registered in a storage device; [Appendix 14] a first conversion method for registering data related to registration information in a verification device that generates a verification feature vector from verification information, and performs verification on an input of a verification secret vector generated by calculating a product of the verification feature vector and the verification key matrix using an inverse matrix of a registration key matrix, which is a randomly selected regular matrix, as the verification key matrix, the first conversion method comprising: generating a registered feature vector from the registered information, and using the registered feature vector as the registered key matrix to calculate a product of the registered feature vector and the registered key matrix to generate a registered secret vector; and transmitting the registered secret vector to the matching device; A first conversion method in which the matching device matches the registration information with the matching information by calculating an inner product of the registration secret vector and the matching secret vector. [Appendix 15] A verification program that causes a computer to verify input registration information and verification information in a verification device, generating a registration feature vector from the registration information; a randomly selected regular matrix is used as a registration key matrix, and a registration secret vector is generated by calculating the product of the registration feature vector and the registration key matrix; transmitting the registered secret vector to the verification device; generating a matching feature vector from the matching information; using an inverse matrix of the registration key matrix as a matching key matrix, calculating a product of the matching feature vector and the matching key matrix to generate a matching secret vector, and transmitting the matching secret vector to the matching device; a matching program that causes the matching device to match the registration information with the matching information by calculating an inner product of the registration secret vector and the matching secret vector. [Appendix 16] An authentication program in which a computer queries a matching device for input matching information, the matching device storing a registered secret vector that is generated by generating a registered feature vector from registered information, calculating a product of the registered feature vector and the registered key matrix using a randomly selected regular matrix as a registered key matrix, the program comprising: generating a matching feature vector from the matching information, calculating a product of the matching feature vector and the matching key matrix using an inverse matrix of the registration key matrix as a matching key matrix, thereby generating a matching secret vector, and transmitting the matching secret vector to the matching device; the verification device verifies the registration information and the verification information by calculating an inner product of the registration secret vector and the verification secret vector. [Appendix 17] a registration program in which a computer generates a matching feature vector from matching information, and transmits and registers data relating to the registration information to a matching device that performs matching against an input of a matching secret vector generated by calculating a product of the matching feature vector and the matching key matrix using an inverse matrix of a registration key matrix, which is a randomly selected regular matrix, as a matching key matrix, generating a registered feature vector from the registered information, and using the registered feature vector as the registered key matrix to calculate a product of the registered feature vector and the registered key matrix to generate a registered secret vector; and transmitting the registered secret vector to the matching device; the verification device collates the registration information with the verification information by calculating an inner product of the registration secret vector and the verification secret vector.
[0087] 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]
[0088] 10 Hardware Configuration 11 CPU 12 Main storage 13 Auxiliary storage device 14 IF Section 100 Matching System 110 First conversion device 120 Second conversion device 130 Collation Device 131 Storage device
Claims
1. A verification system that uses a verification device to verify registration information input to a first conversion device and verification information input to a second conversion device, the first conversion device generates a registered feature vector from the registered information, calculates a product of the registered feature vector and the registered key matrix using a randomly selected regular matrix as a registered key matrix, and generates a registered secret vector, and transmits the registered secret vector to the matching device; the second conversion device generates a matching feature vector from the matching information, calculates a product of the matching feature vector and the matching key matrix using an inverse matrix of the registration key matrix as a matching key matrix, and generates a matching secret vector, and transmits the matching secret vector to the matching device; The verification device verifies the registration information and the verification information by calculating an inner product of the registration secret vector and the verification secret vector.
2. 2. The verification system according to claim 1, wherein the verification device updates the registered feature vector by multiplying the registered feature vector by another randomly selected regular matrix so that verification can be performed using a new verification key matrix.
3. the first conversion device reduces the number of registered secret vectors using the same registration key matrix to less than a predetermined natural number n; The verification system according to claim 2 , wherein the second conversion device updates the verification key matrix so that the number of times verification is performed using the same verification key matrix does not exceed the predetermined natural number n.
4. The verification system according to claim 1 , wherein the registration feature vector and the verification feature vector incorporate mutually orthogonal vectors into corresponding elements.
5. 5. The matching 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 matching system according to claim 1, wherein the registered feature vector and the matching feature vector are configured such that an inner product of the registered feature vector and the matching feature vector is a score between the registered information and the matching information with reference to a score table.
7. 7. The verification system according to claim 1, wherein the regular matrix is generated by excluding irregular matrices from a square matrix in which random numbers equal to a predetermined natural number n squared are assigned to each element.
8. The verification system according to claim 1 , wherein the first conversion device and the second conversion device are integrated into a single device.
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 second conversion device that generates a registered feature vector from registered information, and uses a randomly selected regular matrix as a registered key matrix to calculate a product of the registered feature vector and the registered key matrix, and then queries a matching device that stores the registered secret vector, about input matching information; generating a matching feature vector from the matching information, calculating a product of the matching feature vector and the matching key matrix using an inverse matrix of the registration key matrix as a matching key matrix, thereby generating a matching secret vector, and transmitting the matching secret vector to the matching device; The matching device matches the registration information with the matching information by calculating an inner product of the registration secret vector and the matching secret vector.
11. A matching method for matching registration information input to a first conversion device with matching information input to a second conversion device using a matching device, comprising: the first conversion device generates a registered feature vector from the registered information; using the regular matrix randomly selected by the first conversion device as a registration key matrix, and calculating a product of the registration feature vector and the registration key matrix to generate a registration secret vector; the second conversion device generates a matching feature vector from the matching information; the second transformation device uses an inverse matrix of the registration key matrix as a matching key matrix, and calculates a product of the matching feature vector and the matching key matrix to generate a matching secret vector; the verification device verifies the registration information and the verification information by calculating an inner product of the registration secret vector and the verification secret vector; Matching method.
12. A second conversion method for querying input verification information from a verification device that stores a registered secret vector generated by generating a registered feature vector from registered information, calculating a product of the registered feature vector and the registered key matrix using a randomly selected regular matrix as a registered key matrix, the second conversion method comprising: generating a matching feature vector from the matching information, calculating a product of the matching feature vector and the matching key matrix using an inverse matrix of the registration key matrix as a matching key matrix, thereby generating a matching secret vector, and transmitting the matching secret vector to the matching device; A second conversion method in which the matching device matches the registration information with the matching information by calculating an inner product of the registration secret vector and the matching secret vector registered in a storage device.
13. A verification program that causes a computer to verify input registration information and verification information in a verification device, generating a registration feature vector from the registration information; a randomly selected regular matrix is used as a registration key matrix, and a registration secret vector is generated by calculating the product of the registration feature vector and the registration key matrix; transmitting the registered secret vector to the verification device; generating a matching feature vector from the matching information; using an inverse matrix of the registration key matrix as a matching key matrix, calculating a product of the matching feature vector and the matching key matrix to generate a matching secret vector, and transmitting the matching secret vector to the matching device; a matching program that causes the matching device to match the registration information with the matching information by calculating an inner product of the registration secret vector and the matching secret vector.
14. An authentication program in which a computer queries a matching device for input matching information, the matching device storing a registered secret vector that is generated by generating a registered feature vector from registered information, calculating a product of the registered feature vector and the registered key matrix using a randomly selected regular matrix as a registered key matrix, the program comprising: generating a matching feature vector from the matching information, calculating a product of the matching feature vector and the matching key matrix using an inverse matrix of the registration key matrix as a matching key matrix, thereby generating a matching secret vector, and transmitting the matching secret vector to the matching device; the verification device verifies the registration information and the verification information by calculating an inner product of the registration secret vector and the verification secret vector.
Citation Information
Patent Citations
JP1974029136A
JP1974061214A
Method for generating moving image
JP1998091807A
Method, apparatus and system for biometric authentication
JP2009129292A
Face authentication system, face authentication method and face authentication program
JP2018128736A