A fingerprint key generation method, system, medium and device

Through a fingerprint key generation method that does not require the storage of fingerprint feature data, the fingerprint key is reconstructed by fingerprint images collected at any time, solving the problems of biometric loss and leakage in traditional methods, achieving higher security and user experience .

CN115720170BActive Publication Date: 2025-02-14UNIV OF JINAN
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211512610.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-28
Publication Date
2025-02-14
Estimated Expiration
2042-11-28

AI Technical Summary

Technical Problem

Traditional biometric authentication methods based on biometric identification require the user's biometric templates to save, which can easily lead to the loss and leakage of user's biometrics.

Method used

It provides a fingerprint key generation method, without saving any fingerprint feature data or information, and can reconstruct the fingerprint key by collecting fingerprint images at any time every time the key is needed.

Benefits of technology

The limitations of using intermediate storage media in traditional fingerprint key generation methods are completely overcome, which greatly ensures the security of fingerprint data, improves user experience value, and effectively reduces the risk of loss and omission of user biometrics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115720170B_ABST
    Figure CN115720170B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of biometric collection and identification, and provides a fingerprint key generation method, system, medium and device. The fingerprint key generation method includes: fingerprint image preprocessing: S2, determining a stable feature point set: S3, constructing a key feature point set: S4, calculating feature distance: S5, and generating an original fingerprint key. The technical solution of the present application does not need to save any fingerprint feature data or information. Every time a key is needed, the fingerprint key can be reconstructed by only collecting the fingerprint image at any time. It completely overcomes the limitations of the use of intermediate storage media in traditional fingerprint key generation methods, greatly ensures the security of fingerprint data, improves the user experience value, and effectively reduces the risk of loss and omission of user biometrics.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of biometric feature collection and identification, and in particular to a fingerprint key generation method, system, medium and device. Background Art

[0002] With the development of network information technology, network application systems have been widely used in various fields, bringing great convenience to people's production and life. However, when using these network application systems, people are often troubled by various accounts and passwords. How to accurately and conveniently authenticate users while ensuring the security of user accounts is the primary problem that network application systems must solve.

[0003] Traditional authentication methods mainly verify user identities through account numbers and passwords, but passwords are easily forgotten, leaked, or stolen, which can cause many network security issues such as user account loss, impersonation, and theft. Biometric recognition is an identity authentication technology that has developed rapidly in recent years. It uses people's innate biological characteristics as a token of identity authentication. Because human biological characteristics are unique, convenient, and lifelong, the method of using biometrics for identity authentication overcomes a series of difficulties in traditional identity authentication schemes and has gradually become a hot topic in academic research in the field of identity authentication in recent years.

[0004] Traditional biometric-based identity authentication methods require saving the user's biometric template in the application system, which can easily lead to the loss and leakage of the user's biometrics. Summary of the invention

[0005] The purpose of the embodiments of the present application is to provide a fingerprint key generation method, which does not need to save any fingerprint feature data or information. Each time a key is needed, the fingerprint key can be reconstructed by simply collecting a fingerprint image at any time. This completely overcomes the limitations of using an intermediate storage medium in a traditional fingerprint key generation method, greatly ensures the security of fingerprint data, improves user experience value, and effectively reduces the risk of loss and omission of user biometrics.

[0006] A second objective of the embodiments of the present application is to provide a fingerprint key generation system for implementing the above method.

[0007] A third objective of the embodiments of the present application is to provide a computer storage medium storing a computer program, which implements the above-mentioned fingerprint key generation method when executed by a processor.

[0008] A fourth objective of the embodiments of the present application is to provide a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and when the program is executed by the processor, the above-mentioned fingerprint key generation method is implemented.

[0009] In a first aspect, a fingerprint key generation method is provided, comprising the following steps: S1, fingerprint image preprocessing: S2, determining a stable feature point set: S3, constructing a key feature point set: S4, calculating feature distance: S5, generating an original fingerprint key.

[0010] Wherein, step S1 fingerprint image preprocessing includes the following steps S11 to S12:

[0011] S11, collecting K pairs of fingerprint images of the same finger in the fingerprint image preprocessing set;

[0012] S12, extract multiple feature points from each pair of fingerprint images to form a fingerprint feature point set, K pairs of fingerprint images to obtain K fingerprint feature point sets K fingerprint feature point sets form a total fingerprint feature set FM = {FM i |i=1,2,…,K},FM i represents the set of feature points obtained from the i-th fingerprint image, K represents the number of fingerprint images, K i Equal to FM i The cardinality representation set FM i The number of feature points included, Respectively represent the jth feature point of the i-th fingerprint image The abscissa, ordinate, type and direction field.

[0013] Step S2 determines the stable feature point set and includes the following steps S21 to S28:

[0014] S21. Randomly select one of the total fingerprint feature set FM As a reference set, where 1≤r≤K;

[0015] S22, taking the other K-1 fingerprint feature point sets as K-1 comparison sets, each comparison set is recorded as Where 1≤s≤K and s≠r;

[0016] S23, matching each feature point in the reference set with the feature points in each comparison set one by one;

[0017] S24. Calculate two feature points of the same type in the reference set and each comparison set and The Euclidean distance between The difference between the direction field

[0018] S25, each comparison set FM sThe feature points in the and Translate and rotate to get K r ×K s A temporary feature point set TM ij ;

[0019] S26, Calculate FM r With each TM ij The matching degree is calculated as follows:

[0020]

[0021] Among them, p ij For FM r With each TM ij The number of feature points that are successfully matched. If the feature points and the temporary feature point set TM ij The mth feature point in If the Euclidean distance between the feature points is less than the set threshold Δd and the difference in the direction field is less than the set threshold Δθ, then the two feature points are considered to be matched successfully, and the feature points are given Attach the label value l, Represents feature points and FM r The lth feature point in is the same feature point;

[0022] S27, calculate the maximum matching degree q uv , that is, compare the K obtained in step S26 r ×K s q ij And record the one with the largest value as q uv ;

[0023] S28, the q calculated in step S27 uv The corresponding temporary feature point set TM uv All the successfully matched feature points in the are selected to form a new feature point set, called a stable feature point set, denoted as FM' s , record N s =|FM' s |, the feature points As a stable feature point set FM' s The best center point of the stable feature point set FM' is obtained, that is, FM' = {FM' s |s=1,2,…,K-1,N s =|FM′ s |}.

[0024] Step S3 constructs a key feature point set including the following steps S31 to S33:

[0025] S31, check each stable feature point set FM' in turn according to whether the label value is the same s Whether the feature point in the set also exists in other stable feature point sets of the set FM'; if so, put the current feature point into the set of stable feature points of equal length in order, recorded as FM' s ', and at the same time obtain the set of equal-length stable feature points FM" = {FM" s |s=1,2,…,K-1}, where each FM″ s have the same number of elements, denoted by |FM″ s |=N;

[0026] S32, randomly select m1 stable feature point sets of equal length from FM”, randomly select m2 times, and obtain m1*m2 stable feature point sets of equal length. These m1*m2 stable feature point sets of equal length are called key feature point sets;

[0027] S33, let M = m1*m2, then the set of M key generation feature points can be expressed as

[0028] Step S4 of calculating the characteristic distance includes the following steps S41 to S42:

[0029] S41. Calculate SM k The best center point With SM k The remaining feature points The Euclidean distance between o∈{1,2,…,N}, 1≤j≤N and j≠o, the fingerprint feature point feature distance set is obtained, denoted as

[0030] S42, set the best center point With other feature points The trimmed mean between , the calculation formula of the trimmed mean is:

[0031]

[0032] in d j,min for to The minimum value in d j,max for to The maximum value among them, we get the trimmed mean set FD = {d j |j=1,2,…,N-1}.

[0033] Step S5 generates the original fingerprint key, including the following steps S51 to S55:

[0034] S51, starting from the last decimal place after the decimal point of each trimmed mean, rounding is performed in sequence until the number in the unit place is rounded off, and after such processing, the trimmed mean values ​​all become integers with zero in the unit place;

[0035] S52, divide the tailing means of the values ​​with zero in the ones place by 10 respectively, and obtain integers with only the decimal place retained;

[0036] S53, converting each decimal number into binary data in sequence;

[0037] S54, intercepting L bits on the right side of the binary data, and filling the bits less than L bits with 0 on the left side;

[0038] S55. Connect N-1 L-bit binary bit strings in sequence to form an L×(N-1)-bit original fingerprint key BK.

[0039] In an implementable solution, step S6 is also included, using the formula HK=Hash(BK||Salt) to add a specific string after the original fingerprint key BK for salting, using a one-way hash function to calculate the message digest, and using the digest value HK as the fingerprint key of the group of fingerprint images.

[0040] In an implementable solution, the method further includes step S7: when the fingerprint key in step S6 is leaked, the Salt value in HK=Hash(BK||Salt) is changed to update the fingerprint key HK.

[0041] In an implementable solution, the value of the set threshold Δd of the Euclidean distance in step S26 is 10.5-11.5; the value of the set threshold Δθ of the direction field difference in step S26 is 13.5-14.5; the value of the parameter m2 in step S32 is 4-6 times.

[0042] In an implementable solution, the value of the set threshold Δd of the Euclidean distance in step S26 is 11; the value of the set threshold Δθ of the direction field difference in step S26 is 14; the value of the parameter m2 in step S32 is 4 or 6 times.

[0043] According to the second aspect of the present application, a fingerprint key generation system is also provided, which is used to implement the fingerprint key generation method in the above scheme, including a preprocessing module, a stable feature point processing module, a key feature point generation module, a feature distance calculation module and an original key generation module. The preprocessing module is used to perform fingerprint image preprocessing to implement the above step S1; the stable feature point processing module is used to determine a stable feature point set to implement the above step S2; the key feature point generation module is used to construct a key feature point set to implement the above step S3; the feature distance calculation module is used to calculate the feature distance to implement the above step S4; the original key generation module is used to generate an original fingerprint key to implement the above step S5.

[0044] In an implementable solution, a salting module is also included, which is used to add a specific string after the original fingerprint key BK for salting using the formula HK=Hash(BK||Salt), use a one-way hash function to calculate the message digest, and use the digest value HK as the fingerprint key of the group of fingerprint images.

[0045] In an implementable solution, a key updating module is further included, which is used to change the Salt value in HK=Hash(BK||Salt) to update the fingerprint key HK when the fingerprint key in the above step S6 is leaked.

[0046] According to a third aspect of the present application, a computer storage medium is further provided, which stores a computer program, and when the program is executed by a processor, the fingerprint key generation method in the above solution is implemented.

[0047] According to a fourth aspect of the present application, a computer device is provided, characterized in that it includes a memory and a processor, the memory stores a computer program, and when the program is executed by the processor, the fingerprint key generation method in the above scheme is implemented.

[0048] Compared with the prior art, the beneficial effects of this application are:

[0049] In summary, the method of the present application does not need to save any fingerprint feature data or information. Every time a key is needed, the fingerprint key can be reconstructed by simply collecting the fingerprint image at any time. This completely overcomes the limitations of using intermediate storage media in traditional fingerprint key generation methods, greatly ensures the security of fingerprint data, improves user experience value, and effectively reduces the risk of loss and omission of user biometrics.

[0050] In addition, the fingerprint key can be revoked and updated by adding salt, which basically eliminates the risk of fingerprint data loss and leakage. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0052] Figure 1 A simplified flowchart of a fingerprint key generation method according to an embodiment of the present application is shown;

[0053] Figure 2 It is a code structure diagram of step S2 of the fingerprint key generation method according to an embodiment of the present application;

[0054] Figure 3 This is a simplified code structure diagram of step S3 of the fingerprint key generation method according to an embodiment of the present application;

[0055] Figure 4 A schematic diagram of generating a trimmed mean value of a fingerprint key generation method according to an embodiment of the present application;

[0056] Figure 5 It is a code structure diagram of step S5 of the fingerprint key generation method according to an embodiment of the present application;

[0057] Figure 6 A simplified flowchart of another fingerprint key generation method according to an embodiment of the present application;

[0058] Figure 7 A schematic diagram of a form for generating a summary value HK according to a fingerprint key generation method according to an embodiment of the present application;

[0059] Figure 8 A trend chart showing the relationship between the number of decryption attempts and the decryption success rate under the influence of different set thresholds Δd of the Euclidean distance in this application;

[0060] Fig. 9 A trend diagram showing the relationship between the number of decryption attempts and the decryption success rate under the influence of different set thresholds Δθ of the difference in the directional fields in this application;

[0061] Fig.10 This is a trend chart of the relationship between the number of decryption attempts and the decryption success rate under the influence of different repeated selection times m2 in this application.

[0062] Fig.11 This is a trend chart of the relationship between the number of decryption attempts and the decryption success rate under the influence of two value schemes of Δd, Δθ and m2 in this application.

[0063] Fig.12The following is a simplified flowchart of a fingerprint key generation system according to an embodiment of the present application. DETAILED DESCRIPTION

[0064] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various different configurations.

[0065] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for which protection is sought, but merely represents selected embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.

[0066] According to a first aspect of the present application, a fingerprint key generation method is first provided.

[0067] Embodiment 1:

[0068] like Figure 1 A fingerprint key generation method is shown, comprising the following steps:

[0069] S1. Fingerprint image preprocessing: S2. Determine a stable feature point set: S3. Construct a key feature point set: S4. Calculate feature distance: S5. Generate the original fingerprint key.

[0070] Wherein, step S1 fingerprint image preprocessing includes the following steps S11 to S12:

[0071] S11, collecting K pairs of fingerprint images of the same finger in the fingerprint image preprocessing set;

[0072] It should be noted that step S11 uses traditional methods to process fingerprint images, including but not limited to removing noise from the fingerprint image, making the fingerprint image clear and with distinct edges, so as to improve the accuracy of feature point extraction. This includes fingerprint area detection, image quality judgment, direction map and frequency estimation, image enhancement, fingerprint image binarization and thinning, etc.

[0073] S12, extract multiple feature points from each pair of fingerprint images to form a fingerprint feature point set, K pairs of fingerprint images to obtain K fingerprint feature point sets K fingerprint feature point sets form a total fingerprint feature set FM = {FM i |i=1,2,…,K},FM irepresents the set of feature points obtained from the i-th fingerprint image, K represents the number of fingerprint images, K i Equal to FM i The cardinality representation set FM i The number of feature points included, Respectively represent the jth feature point of the i-th fingerprint image The abscissa, ordinate, type and direction field.

[0074] like Figure 2 As shown in the program code structure diagram, step S2 determines the stable feature point set and includes the following steps S21 to S28:

[0075] S21. Randomly select one of the total fingerprint feature set FM As a reference set, where 1≤r≤K;

[0076] S22, taking the other K-1 fingerprint feature point sets as K-1 comparison sets, each comparison set is recorded as Where 1≤s≤K and s≠r;

[0077] S23, matching each feature point in the reference set with the feature points in each comparison set one by one;

[0078] S24. Calculate two feature points of the same type in the reference set and each comparison set and The Euclidean distance between The difference between the direction field

[0079] S25, each comparison set FM s The feature points in the and After translation and rotation, we get K r ×K s A temporary feature point set TM ij ;

[0080] Because the reference set FM r There is K r points, a comparison set FM s There is K s points, when the reference set FM r Each point in the set FM is compared one by one s When comparing each point in r ×K s times comparison, generating K r ×K s indivual and According to each and The value is translated and rotated, and each translation and rotation generates a temporary set, generating a total of K r ×K s Temporary CollectionTM ij .

[0081] S26, Calculate FM r With each TM ij The matching degree is calculated as follows:

[0082]

[0083] Among them, p ij For FM r With each TM ij The number of feature points that are successfully matched. If the feature points and the temporary feature point set TM ij The mth feature point in If the Euclidean distance between the feature points is less than the set threshold Δd and the difference in the direction field is less than the set threshold Δθ, then the two feature points are considered to be matched successfully, and the feature points are given Attach the label value l, Represents feature points and FM r The lth feature point in is the same feature point;

[0084] S27, calculate the maximum matching degree q uv , that is, compare the K obtained in step S26 r ×K s q ij And record the one with the largest value as q uv ;

[0085] S28, the q calculated in step S27 uv The corresponding temporary feature point set TM uv All the successfully matched feature points in the are selected to form a new feature point set, called a stable feature point set, denoted as FM' s , record N s =|FM' s |, the feature points As a stable feature point set FM' s The best center point of the stable feature point set FM' is obtained, that is, FM' = {FM' s |s=1,2,…,K-1,N s =|FM′ s |}.

[0086] The total number of feature point sets is K, and any set FM is selectedr As the reference set. The remaining K-1 sets are used as the comparison feature point sets. Each comparison set FM s All will pass through K r ×K s Translation and rotation times get K r ×K s A temporary feature point set is obtained by the maximum matching method to obtain a stable feature point set FM' s , there are K-1 contrast feature point sets, so a total of K-1 stable feature point sets FM' are generated s , these K-1 stable feature point sets constitute the set FM' of stable feature point sets.

[0087] like Figure 3 As shown in the program code structure diagram, step S3 constructs a key feature point set including the following steps S31 to S33:

[0088] S31, check each stable feature point set FM' in turn according to whether the label value is the same s Whether the feature point in the set also exists in other stable feature point sets of the set FM'; if so, put the current feature point into the set of stable feature points of equal length in a predetermined order, recorded as FM" s , and at the same time obtain the set of equal-length stable feature points FM" = {FM" s |s=1,2,…,K-1}, where each FM″ s have the same number of elements, denoted by |FM″ s |=N;

[0089] It should be noted that the feature points are set with label values ​​l, and the predetermined order in step S31 can be in the order of the feature point label values ​​l from small to large. s Each feature point in is a successfully matched feature point, so each feature point has a label value l. However, the number of points contained in these stable feature point sets (K-1 in total) is not necessarily equal. Check each stable feature point set FM' according to S31 s The label value of each feature point in the , to see if the feature point is also in the other K-2 stable feature point sets, if so, select it and put it into a new set FM″ in the order of label value from small to large. s In this way, a total of K-1 FMs are generated. s . Each FM" s The equal length in step S31 means that the number of points contained in the set is the same, so this set is uniformly named "equal length stable feature point set".

[0090] S32, randomly select m1 stable feature point sets of equal length from FM”, randomly select m2 times, and obtain m1*m2 stable feature point sets of equal length. These m1*m2 stable feature point sets of equal length are called key feature point sets;

[0091] S33, let M = m1*m2, then the set of M key generation feature points can be expressed as

[0092] in, Represents the i-th feature point in the k-th key feature point set.

[0093] The key feature point sets obtained through the above steps S31 to S33 have the same number of elements, that is, each key feature point set contains the same number of feature points, and the feature points are arranged in ascending order according to the label value in the set, and contain a special feature point, namely the optimal center point.

[0094] Step S4 of calculating the characteristic distance includes the following steps S41 to S42:

[0095] S41, refer to step S28 to calculate the best center point method to calculate SM k The best center point With SM k The remaining feature points The Euclidean distance between o∈{1,2,…,N}, 1≤j≤N and j≠o, the fingerprint feature point feature distance set is obtained, denoted as

[0096] S42, set the best center point With other feature points The trimmed mean between , the calculation formula of the trimmed mean is:

[0097]

[0098] like Figure 4 As shown, d j,min for to The minimum value in d j,max for to The maximum value among them, we get the trimmed mean set FD = {d j |j=1,2,…,N-1}.

[0099] like Figure 5 As shown in the program code structure diagram, step S5 generates the original fingerprint key including the following steps S51 to S55:

[0100] S51, starting from the last decimal place after the decimal point of each trimmed mean, rounding is performed in sequence until the number in the unit place is rounded off, and after such processing, the trimmed mean values ​​all become integers with zero in the unit place;

[0101] S52, divide the tailing means of the values ​​with zero in the ones place by 10 respectively, and obtain integers with only the decimal place retained;

[0102] S53, converting each decimal number into binary data in sequence;

[0103] S54, intercept L bits on the right side of the binary data, and fill the bits less than L bits with 0 on the left; it should be noted that L is a system parameter, which is adjusted according to the probability of reproducing the fingerprint key, with the purpose of making the stable part of the fingerprint information the main factor affecting the key.

[0104] S55. Connect N-1 L-bit binary bit strings in sequence to form an L×(N-1)-bit original fingerprint key BK.

[0105] It can be seen from the above steps that the method of this embodiment does not need to save any fingerprint feature data or information. Every time a key is needed, the fingerprint key can be reconstructed by simply collecting the fingerprint image at any time. This completely overcomes the limitations of using intermediate storage media in traditional fingerprint key generation methods, greatly ensures the security of fingerprint data, improves user experience value, and effectively reduces the risk of loss and omission of user biometrics.

[0106] In one embodiment, Figure 6 As shown, the following steps are also included:

[0107] S6. Use the formula HK=Hash(BK||Salt) to add a specific string after the original fingerprint key BK for salting, use a one-way hash function to calculate the message digest, and use the digest value HK as the fingerprint key of the group of fingerprint images.

[0108] Salting is a professional term in the field of cryptography, which means adding some extra data before and after the string. This data can effectively enrich the meaning of the original string. For example, by adding time information, the original string can generate a time-related key. In addition, salting can also enhance security and increase the difficulty of cracking.

[0109] In one embodiment, the following steps are also included:

[0110] S7. When the fingerprint key in step S6 is leaked, the Salt value in HK=Hash(BK||Salt) is changed to update the fingerprint key HK.

[0111] Step S6 is a further encryption process of the original fingerprint key BK. Due to the randomness of the Salt value, the security of the fingerprint key can be effectively improved. In particular, if the generated fingerprint key is leaked or needs to be replaced for other security reasons, it is only necessary to replace the custom content (Salt value) input by the formula HK=Hash(BK||Salt) to generate a new HK. The method of adding salt to the fingerprint key can realize the revocability and update of the fingerprint key, which basically eliminates the risk of fingerprint data loss and leakage.

[0112] In addition, the length of the fingerprint key is determined by the digest value calculation function. Usually, a 256-bit Hash algorithm is used, and the digest value length is 256 bits. The possibility of direct brute force cracking is 2 -256 .

[0113] Embodiment 2:

[0114] like Figure 7 As shown, this embodiment 2 provides a practical example of the fingerprint key generation method in embodiment 1, as shown below:

[0115] Collect 8 fingerprint images of the same finger;

[0116] Using the method of step S1 in embodiment 1, each feature point in each fingerprint image is processed to obtain Information, generate K (K = 8) fingerprint feature point sets, such as Figure 7 As shown in the first form;

[0117] Using the method of step S2 in Example 1, 7 (K-1) stable feature point sets are obtained by translation and rotation;

[0118] Using the method of step S3 in Example 1, generate M=m1×m2 (m1=5, m2=4) key feature point sets;

[0119] Using the method of step S41 in Example 1, the Euclidean distance between the best center point of each key feature point set and other feature points is calculated. The calculation results of the first five sets are as follows: Figure 7 The third form is shown;

[0120] Using the method of step S42 in Example 1, the trimmed mean combined with FD is calculated, such as Figure 7 The 4th form is shown;

[0121] Using the method in step S5 of embodiment 1, the original key BK is calculated, such as Figure 7 The 5th form is shown;

[0122] Using the method of steps S46 and S7 in Example 1, generate the fingerprint key HK, as shown in FIG. Figure 7 The 7th form is shown.

[0123] Embodiment 3:

[0124] An example of verifying the fingerprint key generation method in Embodiment 1 or Embodiment 2 is provided, and the example includes encryption and decryption parts.

[0125] In the encryption part, the plaintext p is encrypted using the fingerprint key HK to obtain the ciphertext c, that is, c = E HK (p), where E HK () represents the encryption process. Plain text represents information before encryption. In cryptography, the encryption process or encryption method is represented by the cryptographic primitive E(). E HK () indicates that the practical encryption key HK is encrypted by the encryption process E(). Here, "plaintext", "ciphertext", "encryption", "decryption", and encryption process E() are all cryptographic primitives. Plaintext is generally represented by p, and ciphertext is generally represented by c.

[0126] In the decryption part, the fingerprint key HK is used to try to decrypt the ciphertext c. That is, p'=D HK (c), where D HK (c) represents the decryption process.

[0127] During the verification process, this application recruited 155 volunteers to conduct experiments, and collected 8 images of the same finger of each volunteer, and obtained a total of 155*8 images as basic experimental data. In fact, each person swiped his fingerprint 8 times in a row, trying to keep the same posture each time, and obtained 8 pairs of relatively neat fingerprint images. The 8 here corresponds to the parameter K in the formal description of this application.

[0128] First, generate an original fingerprint key for each person according to the scheme of embodiment 1 or 2, and let each person use his or her own fingerprint key to encrypt the plaintext data and save the plaintext-ciphertext pair. The encryption formula is c i =E HKi (p i ), where p i represents the plaintext to be encrypted by the i-th volunteer, c i Indicates p i represents the encrypted ciphertext, HKi represents the key used by the ith volunteer for encryption, E() represents the encryption process, and E HKi (p i ) indicates that the i-th volunteer uses his key HKi to encrypt the plaintext p through the encryption process E() i Encryption is performed.

[0129] Then, try to generate fingerprint keys several times, use the newly generated fingerprint keys to decrypt your ciphertext, and if you can recover the saved plaintext data, it proves that the test system has successfully reproduced the fingerprint key used for encryption. Record and count the decryption success rate or key reproduction rate of the 155 volunteers. Successful decryption means successful key reproduction, or in other words, only successful decryption can prove that the key has been successfully found, that is, the key reproduction is successful, so the decryption success rate can be equal to the key reproduction rate.

[0130] It should be noted that for each attempt, the key is actually regenerated using the methods provided in Examples 1 and 2 using the 8 collected images. Since there is randomness in step S32 in Example 1, this process actually simulates the process of recollecting fingerprints and regenerating keys. The number of attempts here refers to the average number of attempts of 155 people.

[0131] Based on the experimental data of volunteers, this embodiment 3 further analyzes the set threshold Δd of the Euclidean distance in step S26, the set threshold Δθ of the direction field difference in step S26, and the number of repetitions m2 when selecting the key feature point set in step S32, to reflect the recurrence rate of the fingerprint key of the fingerprint key generation method of embodiments 1 and 2.

[0132] First, the influence of the selection of the set threshold Δd of the Euclidean distance in step S26 of Examples 1 and 2 on the probability of successful decryption is analyzed. First, the set threshold Δθ of the difference in the direction field is kept unchanged, and different set thresholds Δd of the Euclidean distance are set. The inventors found that the set threshold Δd of the Euclidean distance is neither the larger the better nor the smaller the better, but there is an optimal range of 10.5 to 11.5. When the set threshold Δd is within this range, the fingerprint key can obtain a better reproduction effect. Figure 8 As shown in the figure, Δd takes values ​​of 9.5, 10, 10.5, 11, 11.5, 12, and 12.5 respectively. The probability of reproducing the fingerprint key after 5 attempts exceeds 70%. When the number of attempts is 60, the reproduction rate of the fingerprint key is close to 100%. Figure 8 It can be seen that when the threshold value Δd of the Euclidean distance is set to 11, the average probability of successful decryption is the highest, so the threshold value Δd of the Euclidean distance is preferably set to 11.

[0133] Secondly, the influence of the selection of the setting threshold value Δθ of the difference in the direction field in step S26 of embodiments 1 and 2 on the probability of successful decryption is analyzed. The inventor sets the threshold value Δd of the Euclidean distance to 11, and sets different setting threshold values ​​Δθ of the difference in the direction field. The inventor finds that the setting threshold value Δθ of the difference in the direction field is neither the larger the better nor the smaller the better, but there is an optimal range of 13.5 to 14.5. When the setting threshold value Δθ is within this range, the fingerprint key can obtain a better reproduction effect. Fig. 9 As shown in the figure, Δθ takes values ​​of 12.5, 13, 13.5, 14, 14.5, 15 and 15.5 respectively. The probability of reproducing the fingerprint key after 10 attempts exceeds 70%. When the number of attempts is 60, the reproduction rate of the fingerprint key is close to 100%. Fig. 9 It can be seen that when the setting threshold value Δθ of the difference in the direction field is 14, the average probability of successful decryption is the highest, so the setting threshold value Δθ of the difference in the direction field is preferably 14.

[0134] Next, the influence of the selection of the number of selection parameters m2 in step S32 of embodiments 1 and 2 on the probability of successful decryption is analyzed. Since each event of selecting a stable feature point set is independent, in order to ensure that the multiple selected stable feature point sets cover all stable feature point sets as much as possible, the number of repeated selection parameters m2 here should not be too small, but considering the execution efficiency of the system, the parameter should not be too large. Fig.10 As shown in the figure, m2 takes values ​​of 2, 3, 4, 5 and 6 respectively. The probability of reproducing the fingerprint key after 20 attempts is basically over 70%. When the number of attempts is 60, the reproducing rate of the fingerprint key is close to 100%. Fig.10 It can be seen that when the parameter m2=4 or 6 is repeatedly selected, the average probability of successful decryption is the highest, so the parameter m2=4 or 6 is preferred.

[0135] Through the above analysis and implementation, two optimal combination schemes are obtained. The first one is Δd=11, Δθ=14 and m2=4, and the second one is Δd=11, Δθ=14 and m2=6. First, the two value combinations are tested. Fig.11 As shown in the figure, after the decryption test of the fingerprint keys of 155 volunteers, both value selection schemes can guarantee a good decryption success rate. The probability of successfully reproducing the fingerprint key after 10 attempts is not less than 0.7354, and the proportion of unsuccessful attempts after more than 60 attempts is no more than 0.0194, that is, the fingerprint key reproducibility rate can be achieved after 60 attempts is 98.06%. Therefore, the experiment proves that the fingerprint key generation method provided by the present application can provide a good fingerprint key reproducibility rate.

[0136] According to the second aspect of the present application, a generation system capable of implementing the above-mentioned fingerprint key generation method is also provided, such as Fig.12 As shown, the fingerprint key generation system includes a preprocessing module 100, a stable feature point processing module 200, a key feature point generation module 300, a feature distance calculation module 400 and an original key generation module 500. The preprocessing module 100 is used to perform fingerprint image preprocessing to implement step S1 of embodiment 1; the stable feature point processing module 200 is used to determine a stable feature point set to implement step S2; the key feature point generation module 300 is used to construct a key feature point set to implement step S3 of embodiment 1; the feature distance calculation module 400 is used to calculate the feature distance to implement step S4 of embodiment 1; the original key generation module 500 is used to generate an original fingerprint key to implement step S5 of embodiment 1.

[0137] In one embodiment, Fig.12 As shown, it also includes a salting module 600, which is used to add a specific string after the original fingerprint key BK using the formula HK=Hash(BK||Salt) to perform salting processing, use a one-way hash function to calculate the message digest, and use the digest value HK as the fingerprint key of the group of fingerprint images.

[0138] In one embodiment, Fig.12 As shown, the invention further includes a key updating module 700, which is used to change the Salt value in HK=Hash(BK||Salt) to update the fingerprint key HK when the fingerprint key in step S6 of embodiment 1 is leaked.

[0139] According to a third aspect of the present application, a computer storage medium is further provided, which stores a computer program, and when the program is executed by a processor, the fingerprint key generation method in the above solution is implemented.

[0140] According to a fourth aspect of the present application, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and when the program is executed by the processor, the fingerprint key generation method in the above scheme is implemented.

[0141] The above are only preferred embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A fingerprint key generation method, characterized in that: The following steps are involved: S1. Fingerprint image preprocessing, including: S11, collecting K pairs of fingerprint images of the same finger in the fingerprint image preprocessing set; S12, extract multiple feature points from each pair of fingerprint images to form a fingerprint feature point set, K pairs of fingerprint images to obtain K fingerprint feature point sets K fingerprint feature point sets form a total fingerprint feature set FM = {FM i |i=1,2,…,K},FM i represents the set of feature points obtained from the i-th fingerprint image, K represents the number of fingerprint images, K i Equal to FM i The cardinality representation set FM i The number of feature points included, Respectively represent the jth feature point of the i-th fingerprint image The abscissa, ordinate, type and direction of the field; S2. Determine a set of stable feature points, including: S21. Randomly select one of the total fingerprint feature set FM As a reference set, where 1≤r≤K; S22, taking the other K-1 fingerprint feature point sets as K-1 comparison sets, each comparison set is recorded as Where 1≤s≤K and s≠r; S23, matching each feature point in the reference set with the feature points in each comparison set one by one; S24. Calculate two feature points of the same type in the reference set and each comparison set and The Euclidean distance between The difference between the direction field If the types are different, then S25, each comparison set FM s The feature points in the and After translation and rotation, we get K r ×K s A temporary feature point set TM ij ; S26, Calculate FM r With each TM ij The matching degree is calculated as follows: Among them, p ij For FM r With each TM ij The number of feature points that are successfully matched. If the feature points and the temporary feature point set TM ij The mth feature point in If the Euclidean distance between the feature points is less than the set threshold Δd and the difference in the direction field is less than the set threshold Δθ, then the two feature points are considered to be matched successfully, and the feature points are given Attach the label value l, Represents feature points and FM r The lth feature point in is the same feature point; S27, calculate the maximum matching degree q uv , that is, compare the K obtained in step S26 r ×K s q ij And record the one with the largest value as q uv ; S28, the q calculated in step S27 uv The corresponding temporary feature point set TM uv All the successfully matched feature points in are selected to form a new feature point set, called the stable feature point set, denoted as FM′ s , record N s =|FM′ s |, the feature points As a stable feature point set FM′ s The best center point of the stable feature point set FM′ is obtained, that is, FM′={FM′ s |s=1,2,...,K−1,N s =|FM′ s |}; S3. Construct a key feature point set, including: S31, check each stable feature point set FM′ in turn according to whether the label value is the same s Whether the feature point in the set also exists in other stable feature point sets of the set FM′; if so, put the current feature point into the set of stable feature points of equal length in a predetermined order, recorded as FM″ s , and at the same time, we get the set of equal-length stable feature points FM″={FM″ s |s=1,2,...,K-1},where each FM″ s have the same number of elements, denoted by |FM″ s |=N; S32, randomly select m1 stable feature point sets of equal length from FM″, randomly select m2 times, and obtain m1*m2 stable feature point sets of equal length. These m1*m2 stable feature point sets of equal length are called key feature point sets; S33, let M = m1*m2, then the set of M key generation feature points can be expressed as in, represents the i-th feature point in the k-th key feature point set; S4. Calculate feature distance, including: S41, Calculate SM k The best center point With SM k The remaining feature points The Euclidean distance between o∈{1, 2, ..., N}, 1≤j≤N and j≠o, the characteristic distance set of fingerprint feature points is obtained, denoted as S42, set the best center point With other feature points The trimmed mean between , the calculation formula of the trimmed mean is: in d j,min for to The minimum value in d j,max for to The maximum value among them, we get the trimmed mean set FD = {d j |j=1, 2, ..., N-1}; S5. Generate the original fingerprint key, including: S51, starting from the last decimal place after the decimal point of each trimmed mean, rounding is performed in sequence until the number in the unit place is rounded off, and after such processing, the trimmed mean values ​​all become integers with zero in the unit place; S52, divide the tailing means of the values ​​with zero in the ones place by 10 respectively, and obtain integers with only the decimal places above 10 retained; S53, converting each decimal number into binary data in sequence; S54, intercepting L bits on the right side of the binary data, and filling the bits less than L bits with 0 on the left side; S55. Connect N-1 L-bit binary bit strings in sequence to form an L×(N-1)-bit original fingerprint key BK.

2. The fingerprint key generation method according to claim 1, characterized in that: The following steps are also included: S6. Use the formula HK=Hash(BK||Salt) to add a specific string after the original fingerprint key BK for salting, use a one-way hash function to calculate the message digest, and use the digest value HK as the fingerprint key of the group of fingerprint images.

3. The fingerprint key generation method according to claim 2, characterized in that: The following steps are also included: S7. When the fingerprint key in step S6 is leaked, the Salt value in HK=Hash(BK||Salt) is changed to update the fingerprint key HK.

4. The fingerprint key generation method according to any one of claims 1 to 3, characterized in that: The value of the set threshold value Δd of the Euclidean distance in step S26 is 10.5-11.5; the value of the set threshold value Δθ of the direction field difference in step S26 is 13.5-14.5; the value of the parameter m2 in step S32 is 4-6 times.

5. The fingerprint key generation method according to claim 4, characterized in that: The value of the set threshold value Δd of the Euclidean distance in step S26 is 11; the value of the set threshold value Δθ of the direction field difference in step S26 is 14; the value of the parameter m2 in step S32 is 4 or 6 times.

6. A fingerprint key generation system, characterized in that: Used to implement the fingerprint key generation method as claimed in claim 1, comprising: A preprocessing module (100), which is used to perform fingerprint image preprocessing to implement step S1; A stable feature point processing module (200) is used to determine a stable feature point set to implement step S2; A key feature point generation module (300) is used to construct a key feature point set to implement step S3; A feature distance calculation module (400), used to calculate the feature distance to implement step S4; The original key generation module (500) is used to generate an original fingerprint key to implement step S5.

7. The fingerprint key generation system according to claim 6, characterized in that: The method for generating a fingerprint key according to claim 2 further comprises: The salting module (600) is used to add a specific string after the original fingerprint key BK using the formula HK=Hash(BK||Salt) to perform salting processing, use a one-way hash function to calculate the message digest, and use the digest value HK as the fingerprint key of the group of fingerprint images.

8. The fingerprint key generation system according to claim 7, characterized in that: The method for generating a fingerprint key according to claim 3 further comprises: The key updating module (700) is used to change the Salt value in HK=Hash(BK||Salt) to update the fingerprint key HK when the fingerprint key is leaked in step S6.

9. A computer storage medium, characterized in that It stores a computer program, which, when executed by a processor, implements the fingerprint key generation method according to any one of claims 1 to 5.

10. A computer device, characterized in that: The method comprises a memory and a processor, wherein the memory stores a computer program, and when the program is executed by the processor, the fingerprint key generation method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Fingerprint key generation method based on feature distance and generation range

    CN109639414A

  • Fingerprint biometric key generation method based on deep neural network coding

    CN113128364A