Authentication method and device
By encoding and adding noise to the authenticated biometric vectors on the client, a noise-added coding sequence is generated and sent to the server for comparison, the problem of high security requirements for biometric authentication in the financial field is solved, and safe and efficient biometric authentication is achieved.
Patent Information
- Application Number
- CN202111217550.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-19
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2041-10-19
AI Technical Summary
It is difficult for the prior art to implement secure authentication methods suitable for biometric authentication in the financial field, especially in technologies such as blockchain.
By encoding and adding noise processing of the authenticated biometric vectors on the client, a noise-added encoding sequence is generated and sent to the server. The server authenticates based on the comparison results of the noise-added coding sequence and the target noise-added coding sequence.
The security of the biometric authentication process is realized, preventing the server from obtaining the biometric vectors to be authenticated, and ensuring the privacy and security of the authentication process.
Smart Images

Figure CN113987446B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of financial technology (Fintech), and in particular, to an authentication method and device. Background Art
[0002] With the development of computer technology, more and more technologies (big data, blockchain, etc.) are being applied in the financial field. The traditional financial industry is gradually transforming into financial technology. However, due to the security and real-time requirements of the financial industry, higher requirements are also placed on technology. In the financial field, security authentication is required to identify the identity of the user.
[0003] In blockchain and other related technologies, secure authentication methods are required. For example, after receiving the feature vector to be authenticated, the server will compare it with the preset feature vector and determine whether the authentication is successful based on the similarity between the two. That is, in the above method, the server needs to obtain the feature vector to be authenticated. However, biometric authentication has high security requirements, and the above method is not suitable for biometric authentication.
[0004] In summary, there is an urgent need for an authentication method suitable for biometric authentication. Summary of the invention
[0005] The embodiments of the present application provide an authentication method and device, which can be applied to biometric authentication in a blockchain network.
[0006] In a first aspect, an embodiment of the present application provides an authentication method, applied to a client, the method comprising:
[0007] Based on a first number sequence of a biometric feature vector to be authenticated with a preset number of digits, encoding each eigenvalue in the biometric feature vector to be authenticated, to obtain a first encoding sequence of the preset number of digits corresponding to each eigenvalue; wherein the first number sequence is randomly generated based on a value range of the eigenvalue;
[0008] Performing noise processing on the code values in the first code sequence based on a preset probability to obtain a first noise-added code sequence of the biometric feature vector to be authenticated;
[0009] The first noisy coding sequence of the biometric feature vector to be authenticated is sent to a server, so that the server authenticates the biometric feature vector to be authenticated according to a comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and a target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0010] In the above scheme, since the first noisy coding sequence of the biometric feature vector to be authenticated is processed by noise after encoding the biometric feature vector to be authenticated, it is difficult for the server to determine the biometric feature vector to be authenticated based on the first noisy coding sequence, thereby achieving the security of the authentication process; in addition, the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence are encoded and noised in the same way, therefore, by comparing the first noisy coding sequence of the biometric feature vector to be authenticated with the target noisy coding sequence, the similarity between the biometric feature vector to be authenticated and the target biometric feature vector can be determined, thereby accurately and efficiently performing security authentication in technologies such as blockchain.
[0011] In some optional implementations, based on a first sequence of a preset number of bits of a biometric feature vector to be authenticated, encoding each eigenvalue in the biometric feature vector to be authenticated to obtain a first encoding sequence of the preset number of bits corresponding to each eigenvalue includes:
[0012] For any characteristic value, sequentially compare the characteristic value with the random value of each bit in the first number sequence of the biometric characteristic vector to be authenticated;
[0013] If the characteristic value is smaller than the random value, the encoding value of the corresponding bit is determined to be a preset first encoding value; otherwise, the encoding value of the corresponding bit is determined to be a preset second encoding value.
[0014] The above scheme determines the code value of each bit of the first coding sequence by comparing the eigenvalue with the random value of each bit in the first sequence of the biometric feature vector to be authenticated. The first coding sequence can not only characterize the size characteristics of the corresponding eigenvalue, but also does not reflect the specific numerical value of the eigenvalue.
[0015] In some optional implementations, the first coding sequence includes a preset first coding value and / or a preset second coding value; the first coding value is the second coding value after noise addition, and the second coding value is the first coding value after noise addition.
[0016] The above scheme performs inversion processing on the first code value and the second code value in the first code sequence based on a preset probability, thereby further protecting the specific numerical value of the characteristic value and improving the security of the authentication process.
[0017] In some optional implementations, the method further comprises:
[0018] Determine a second noise-added coding sequence of the biometric feature vector to be authenticated based on the second number sequence of the biometric feature vector to be authenticated of the preset number of bits; wherein the second number sequence of the biometric feature vector to be authenticated is obtained by adjusting the first number sequence of the biometric feature vector to be authenticated based on a preset adjustment method, or is randomly generated based on the value range of the eigenvalue;
[0019] The second noisy coding sequence of the biometric feature vector to be authenticated is sent to the server, so that after the server successfully authenticates the biometric feature vector to be authenticated, the server determines the second noisy coding sequence of the biometric feature vector to be authenticated as the target noisy coding sequence of the next biometric feature vector to be authenticated.
[0020] The above scheme, by updating in real time the sequence for encoding the characteristic values in the biometric feature vector to be authenticated, makes it difficult for the server to determine the sequence used for encoding, further increases the difficulty for the server to determine the biometric feature vector to be authenticated, and improves the security of the authentication process.
[0021] In some optional implementations, if the biometric feature vector to be authenticated is the first biometric feature vector to be authenticated, the target biometric feature vector is an initial biometric feature vector;
[0022] If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is no biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the initial biometric feature vector;
[0023] If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is a biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the last authenticated biometric feature vector, and the first sequence of the biometric feature vector to be authenticated is the second sequence of the last authenticated biometric feature vector.
[0024] In a second aspect, an embodiment of the present application provides an authentication method, which is applied to a server, and the method includes:
[0025] Receive a first noisy coding sequence of a biometric feature vector to be authenticated sent by a client; wherein the first noisy coding sequence of the biometric feature vector to be authenticated is obtained by encoding each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of the biometric feature vector to be authenticated with a preset number of bits, and after obtaining the first coding sequence of the preset number of bits corresponding to each eigenvalue, the coding value in the first coding sequence is subjected to noise processing based on a preset probability;
[0026] The biometric feature vector to be authenticated is authenticated according to a comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0027] In the above scheme, since the first noisy coding sequence of the biometric feature vector to be authenticated is processed by noise after encoding the biometric feature vector to be authenticated, it is difficult for the server to determine the biometric feature vector to be authenticated based on the first noisy coding sequence, thereby achieving the security of the authentication process; in addition, the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence are encoded and noised in the same way, therefore, by comparing the first noisy coding sequence of the biometric feature vector to be authenticated with the target noisy coding sequence, the similarity between the biometric feature vector to be authenticated and the target biometric feature vector can be determined, thereby accurately and efficiently performing security authentication in technologies such as blockchain.
[0028] In some optional implementations, authenticating the biometric feature vector to be authenticated according to a comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence includes:
[0029] Determine the Hamming distance between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence;
[0030] Determine the Euclidean distance between the biometric feature vector to be authenticated and the target biometric feature vector according to the determined Hamming distance, the preset number of bits, and the preset probability;
[0031] If the determined Euclidean distance is less than or equal to the preset Euclidean distance, the authentication of the biometric feature vector to be authenticated is passed; otherwise, the authentication of the biometric feature vector to be authenticated is failed.
[0032] In the above scheme, since the first noisy coding sequence represents the size characteristics of the corresponding eigenvalues in the biometric feature vector to be authenticated, and the target noisy coding sequence represents the size characteristics of the corresponding eigenvalues in the target biometric feature vector, the Euclidean distance between the biometric feature vector to be authenticated and the target biometric feature vector can be determined based on the Hamming distance between the first noisy coding sequence and the target noisy coding sequence of the biometric feature vector to be authenticated; and then based on the determined Euclidean distance and the preset Euclidean distance, the biometric feature vector to be authenticated can be accurately authenticated.
[0033] In some optional implementations, the method further comprises:
[0034] Receive a second noisy coding sequence of the biometric feature vector to be authenticated sent by the client; wherein the second noisy coding sequence of the biometric feature vector to be authenticated is obtained by the client encoding each eigenvalue in the biometric feature vector to be authenticated based on a second sequence of the biometric feature vector to be authenticated with a preset number of bits, obtaining the second coding sequence of the preset number of bits corresponding to each eigenvalue, and then performing a noise processing on the coding values in the second coding sequence based on the preset probability;
[0035] If the biometric feature vector to be authenticated is authenticated successfully, the second noisy coding sequence of the biometric feature vector to be authenticated is determined as the target noisy coding sequence of the next biometric feature vector to be authenticated.
[0036] The above scheme, by updating in real time the sequence for encoding the characteristic values in the biometric feature vector to be authenticated, makes it difficult for the server to determine the sequence used for encoding, further increases the difficulty for the server to determine the biometric feature vector to be authenticated, and improves the security of the authentication process.
[0037] In a third aspect, an embodiment of the present application further provides an authentication device, applied to a client, the device comprising:
[0038] An encoding module, configured to encode each eigenvalue in the biometric feature vector to be authenticated based on a first number sequence of a preset number of digits of the biometric feature vector to be authenticated, to obtain a first encoding sequence of the preset number of digits corresponding to each eigenvalue; wherein the first number sequence is randomly generated based on a value range of the eigenvalue;
[0039] A noise adding module, configured to perform noise adding processing on the code values in the first code sequence based on a preset probability, so as to obtain a first noise adding code sequence of the biometric feature vector to be authenticated;
[0040] A sending module, used for sending the first noisy coding sequence of the biometric feature vector to be authenticated to a server, so that the server authenticates the biometric feature vector to be authenticated according to the comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and a target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0041] In a fourth aspect, an embodiment of the present application further provides another authentication device, which is applied to a server, and the device includes:
[0042] A receiving module, configured to receive a first noise-added coding sequence of a biometric feature vector to be authenticated sent by a client; wherein the first noise-added coding sequence of the biometric feature vector to be authenticated is obtained by the client encoding each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of the biometric feature vector to be authenticated with a preset number of bits, obtaining the first coding sequence of the preset number of bits corresponding to each eigenvalue, and then performing noise processing on the coding values in the first coding sequence based on a preset probability;
[0043] An authentication module is used to authenticate the biometric feature vector to be authenticated according to a comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and a target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0044] In a fifth aspect, an embodiment of the present application provides a client, comprising at least one processor and at least one memory, wherein the memory stores a computer program, and when the program is executed by the processor, the processor executes any authentication method described in the first aspect above.
[0045] In a sixth aspect, an embodiment of the present application provides a server, comprising at least one processor and at least one memory, wherein the memory stores a computer program, and when the program is executed by the processor, the processor executes any authentication method described in the second aspect above.
[0046] In the seventh aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program executable by a computing device. When the program runs on the computing device, the computing device executes the authentication method described in any one of the first aspect or the second aspect above.
[0047] In addition, the technical effects brought about by any implementation method in the third to seventh aspects can refer to the technical effects brought about by different implementation methods in the first and second aspects, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0049] Figure 1 A schematic diagram of an application scenario provided for an embodiment of the present application;
[0050] Figure 2 An interactive flow chart of the first authentication method provided in the embodiment of the present application;
[0051] Figure 3 An interactive flow chart of the second authentication method provided in the embodiment of the present application;
[0052] Figure 4 A schematic diagram of the first authentication method provided in the present application embodiment;
[0053] Figure 5 A schematic diagram of a second authentication method provided in an embodiment of the present application;
[0054] Figure 6 A schematic diagram of the structure of the first authentication device provided in the embodiment of the present application;
[0055] Figure 7 A schematic diagram of the structure of a second authentication device provided in an embodiment of the present application;
[0056] Figure 8 A schematic diagram of the structure of the client provided in the embodiment of the present application;
[0057] Fig. 9 A schematic diagram of the structure of a server provided in an embodiment of the present application. DETAILED DESCRIPTION
[0058] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present application.
[0059] In the embodiments of the present application, the term "and / or" describes the association relationship of the associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.
[0060] The terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this application, unless otherwise specified, "plurality" means two or more.
[0061] In the financial field, such as big data, blockchain and other technologies, security authentication is required to identify the identity of the user. In related technologies, after receiving the feature vector to be authenticated, the server will compare it with the preset feature vector and determine whether the authentication is successful based on the similarity between the two. That is, in the above method, the server needs to obtain the feature vector to be authenticated. However, biometric authentication has higher security requirements, and the above method is not suitable for biometric authentication.
[0062] In some embodiments, public key cryptography is used to encrypt feature vectors (such as homomorphic encryption, etc.) to achieve biometric security authentication.
[0063] However, the algorithm used in public key encryption is relatively complex and the encryption process takes a long time, resulting in low authentication efficiency.
[0064] In view of this, an embodiment of the present application proposes an authentication method and device, which is applied to a client, including: based on a first number series of a biometric feature vector to be authenticated with a preset number of bits, encoding each eigenvalue in the biometric feature vector to be authenticated, and obtaining a first coding sequence of the preset number of bits corresponding to each eigenvalue; wherein the first number series is randomly generated based on a value range of the eigenvalue; based on a preset probability, the coding values in the first coding sequence are denoised to obtain a first noisy coding sequence of the biometric feature vector to be authenticated; the first noisy coding sequence of the biometric feature vector to be authenticated is sent to a server, so that the server authenticates the biometric feature vector to be authenticated according to a comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and a target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0065] In the above scheme, since the first noisy coding sequence of the biometric feature vector to be authenticated is processed by noise after encoding the biometric feature vector to be authenticated, it is difficult for the server to determine the biometric feature vector to be authenticated based on the first noisy coding sequence, thereby achieving the security of the authentication process; in addition, the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence are encoded and noised in the same way, therefore, by comparing the first noisy coding sequence of the biometric feature vector to be authenticated with the target noisy coding sequence, the similarity between the biometric feature vector to be authenticated and the target biometric feature vector can be determined, thereby accurately and efficiently performing security authentication in technologies such as blockchain.
[0066] See also Figure 1As shown, an application scenario provided by an embodiment of the present application includes: a server (Server) 200, and multiple clients (Client) connected to the server 200, Figure 1 The client 101, the client 102 and the client 103 are taken as examples for description. In actual applications, there may be more or fewer clients.
[0067] Data can be transmitted between the server and each client through a variety of communication methods, such as: Local Area Network (LAN), Wireless Local Area Network (WLAN) or other networks.
[0068] The client, based on a first number series of a preset number of bits of the biometric feature vector to be authenticated, encodes each eigenvalue in the biometric feature vector to be authenticated to obtain a first coding sequence of the preset number of bits corresponding to each eigenvalue; wherein the first number series is randomly generated based on a value range of the eigenvalue; based on a preset probability, the coding values in the first coding sequence are denoised to obtain a first noisy coding sequence of the biometric feature vector to be authenticated; and the first noisy coding sequence of the biometric feature vector to be authenticated is sent to a server.
[0069] The above-mentioned server authenticates the biometric feature vector to be authenticated according to the comparison result of the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence; wherein the target noisy coding sequence is the noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0070] The above application scenarios are only examples of application scenarios for implementing the embodiments of the present application, and the embodiments of the present application are not limited to the above application scenarios.
[0071] The following will be combined with the accompanying drawings and specific embodiments to describe in detail the technical solution of the present application and how the technical solution of the present application solves the above technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.
[0072] Figure 2 The interactive flow chart of the first authentication method provided in the embodiment of the present application is as follows: Figure 2 As shown, the following steps are included:
[0073] Step S201: the client encodes each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of preset digits of the biometric feature vector to be authenticated, and obtains a first encoding sequence of the preset digits corresponding to each eigenvalue.
[0074] The first number series is randomly generated based on the value range of the eigenvalue.
[0075] In this embodiment, feature extraction is performed on biometric information to obtain the above-mentioned biometric feature vector. There are many ways to implement the biometric information, such as images containing fingerprints, user voice, etc. Different types of biometric information use corresponding feature extraction methods. Take an image containing a fingerprint as an example: FingerCode can be used to encode the fingerprint into a 640-dimensional feature vector, and each dimension feature value is represented by one byte.
[0076] The biometric vector to be authenticated is X = (x1, x2, x3, ..., x 639 ,x 640 ), the range of the eigenvalue is lower~upper (lower is the lower limit of the range of the eigenvalue, upper is the upper limit of the range of the eigenvalue, in some embodiments lower=0, upper=128), that is, x i ∈ [lower, upper], i=1,2,3,…,639,640.
[0077] The above preset number of bits can be determined according to the accuracy required for authentication and the authentication type. The higher the accuracy, the more preset bits. Take the 640-dimensional biometric feature vector to be authenticated and the preset number of bits as 256 as an example:
[0078] Generate the first sequence R1 (r1, r2, r3, ..., r 255 ,r 256 ), the first sequence is randomly generated based on the range of the eigenvalues, so the range of the random values is also lower~upper, that is, r j ∈ [lower, upper], j=1,2,3,…,255,256.
[0079] Based on R1, x1 is encoded to obtain a first encoding sequence sx1 containing a 256-bit encoding value; based on R1, x2 is encoded to obtain a first encoding sequence sx2 containing a 256-bit encoding value; based on R1, x3 is encoded to obtain a first encoding sequence sx3 containing a 256-bit encoding value; ...; based on R1, x 639 Encode to obtain the first encoding sequence sx containing 256-bit encoding value 639 ; Based on R1 to x 640 Encode to obtain the first encoding sequence sx containing 256-bit encoding value 640 After encoding, there are 640 first encoding sequences containing 256-bit encoding values.
[0080] The above-mentioned biometric feature vector to be authenticated, the first number series and the first coding sequence are all exemplary descriptions, and this application does not make any specific limitations on them.
[0081] Step S202: The client performs noise processing on the code values in the first code sequence based on a preset probability to obtain a first noisy code sequence of the biometric feature vector to be authenticated.
[0082] The above preset probability can be determined according to the accuracy, security and authentication type required for authentication. The higher the accuracy and the lower the security requirement, the greater the preset probability. The value range of the preset probability is 0 to 1. In some specific implementations, the preset probability of fingerprint authentication is 0.25.
[0083] Exemplarily, the negation probability can be determined based on the above preset probability, where the negation probability P=(1-p) / 2, where p is the above preset probability. When the preset probability is 0.25, the negation probability is 0.375. The code values in each first code sequence are negated based on the negation probability to obtain a first noisy code sequence.
[0084] Step S203: the client sends the first noisy coding sequence of the biometric feature vector to be authenticated to the server.
[0085] In this embodiment, the client may send the first noisy coding sequence of the biometric feature vector to be authenticated to the server through the above-mentioned multiple communication methods.
[0086] In some optional implementations, the client may use the private key of the authenticated user to sign the first noisy coding sequence, and send the signature and the first noisy coding sequence to the server.
[0087] Step S204: the server authenticates the biometric feature vector to be authenticated according to the comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence.
[0088] The target noise-added coding sequence is a noise-added coding sequence of a target biometric feature vector determined based on the first sequence of the biometric feature vector to be authenticated and the preset probability.
[0089] In this embodiment, the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence are encoded and noisy in the same manner. Therefore, by comparing the first noisy coding sequence of the biometric feature vector to be authenticated with the target noisy coding sequence, the similarity between the biometric feature vector to be authenticated and the target biometric feature vector can be determined, and the server can perform security authentication without obtaining the biometric feature vector to be authenticated.
[0090] In the above scheme, since the first noisy coding sequence of the biometric feature vector to be authenticated is processed by noise after encoding the biometric feature vector to be authenticated, it is difficult for the server to determine the biometric feature vector to be authenticated based on the first noisy coding sequence, thereby achieving the security of the authentication process; in addition, the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence are encoded and noised in the same way, therefore, by comparing the first noisy coding sequence of the biometric feature vector to be authenticated with the target noisy coding sequence, the similarity between the biometric feature vector to be authenticated and the target biometric feature vector can be determined, thereby accurately and efficiently performing security authentication in technologies such as blockchain.
[0091] In some optional implementation manners, the above step S201 may be implemented by but not limited to the following methods:
[0092] For any characteristic value, sequentially compare the characteristic value with the random value of each bit in the first number sequence of the biometric characteristic vector to be authenticated;
[0093] If the characteristic value is smaller than the random value, the encoding value of the corresponding bit is determined to be a preset first encoding value; otherwise, the encoding value of the corresponding bit is determined to be a preset second encoding value.
[0094] In this embodiment, two encoding values, a first encoding value and a second encoding value, are preset. By i Compare with the random value on each bit in R1. If x i <r j , the j-th bit code value is the first code value; if x i ≥r j , the j-th encoding value is the second encoding value.
[0095] In implementation, a binary method may be used, where the first coding value is 0 and the second coding value is 1; or, the first coding value is 1 and the second coding value is 0.
[0096] x i is 90, the first sequence R1 is (100, 62, 35, 88, ..., 31, 120, 78, 100), the first code value is 0, and the second code value is 1.
[0097] x i <100, the first bit is coded as 0; x i >62, the second bit is 1; x i >35, the encoding value of the third bit is 1; x i >88, the encoding value of the 4th bit is 1; ...; x i >31, the encoding value of the 253rd bit is 1; x i<120, the encoding value of the 254th bit is 0; x i >78, the encoding value of the 255th bit is 1; x i <100, the encoding value of the 256th bit is 0. i The corresponding first coding sequence is (0,1,1,1,…,1,0,1,0).
[0098] The above encoding process is only an exemplary description and the present application is not limited thereto.
[0099] The above scheme determines the code value of each bit of the first coding sequence by comparing the eigenvalue with the random value of each bit in the first sequence of the biometric feature vector to be authenticated. The first coding sequence can not only characterize the size characteristics of the corresponding eigenvalue, but also does not reflect the specific numerical value of the eigenvalue.
[0100] In some optional implementations, the first coding sequence includes a preset first coding value and / or a preset second coding value; the first coding value is the second coding value after noise addition, and the second coding value is the first coding value after noise addition.
[0101] As described above, the negation probability can be determined based on the above preset probability, and the code values in each first code sequence are negated based on the negation probability to obtain the first noisy code sequence. In this embodiment, the first code value in the first code sequence is negated to obtain the second code value, and the second code value in the first code sequence is negated to obtain the first code value. For example: i The corresponding first coding sequence is (0, 1, 1, 1, ..., 1, 0, 1, 0), the probability of negation is 0.375, and the first noisy coding sequence after noise addition is (0, 1, 0, 1, ..., 1, 1, 1, 0).
[0102] The above-mentioned noise adding method is only an exemplary description. In this embodiment, other methods may be used to invert some code values in the first code sequence to obtain the first noise adding code sequence.
[0103] The above scheme performs inversion processing on the first code value and the second code value in the first code sequence based on a preset probability, thereby further protecting the specific numerical value of the characteristic value and improving the security of the authentication process.
[0104] In some optional implementation manners, the above step S204 may be implemented by but not limited to the following methods:
[0105] Determine a Hamming distance between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence;
[0106] Determine the Euclidean distance between the biometric feature vector to be authenticated and the target biometric feature vector according to the determined Hamming distance, the preset number of bits, and the preset probability;
[0107] If the determined Euclidean distance is less than or equal to the preset Euclidean distance, the authentication of the biometric feature vector to be authenticated is passed; otherwise, the authentication of the biometric feature vector to be authenticated is failed.
[0108] In order to protect the biometric feature vector to be authenticated, this embodiment does not send the biometric feature vector to be authenticated to the server, so the server cannot directly determine the Euclidean distance between the biometric feature vector to be authenticated and the target biometric feature vector. Since the first noisy coding sequence represents the size characteristics of the corresponding eigenvalues in the biometric feature vector to be authenticated, and the target noisy coding sequence represents the size characteristics of the corresponding eigenvalues in the target biometric feature vector, the Euclidean distance between the biometric feature vector to be authenticated and the target biometric feature vector can be determined based on the Hamming distance between the first noisy coding sequence and the target noisy coding sequence of the biometric feature vector to be authenticated.
[0109] Exemplarily, the biometric feature vector to be authenticated has multiple first noisy coding sequences, and the target biometric feature vector also has the same number of target noisy coding sequences, each sequence includes a code value of a preset number of bits, and the noisy coding sequences corresponding to the i-th dimension eigenvalues of the biometric feature vector to be authenticated and the target biometric feature vector can be compared, and the number of different code values on the corresponding bits is determined as the Hamming distance d between the first noisy coding sequence of the i-th dimension eigenvalue of the biometric feature vector to be authenticated and the target noisy coding sequence of the i-th dimension eigenvalue of the target biometric feature vector Hi ;i=1,2,3,...,639,640;
[0110] Right now Wherein, s is the preset number of bits, p is the preset probability, u=upper-lower (as mentioned above, upper is the upper limit of the value range of the eigenvalue, and lower is the lower limit of the value range of the eigenvalue), d Ei is the Euclidean distance between the n-th eigenvalue of the biometric feature vector to be authenticated and the n-th eigenvalue of the target biometric feature vector;
[0111] The Euclidean distance between the biometric vector value to be authenticated and the target biometric vector
[0112] If d E ≤d E0 , the biometric vector to be authenticated is authenticated; if d E >d E0, the biometric vector to be authenticated fails authentication; where d E0 is the default Euclidean distance.
[0113] The above authentication process is only an example description and this application does not make any specific limitation to it.
[0114] In addition, the preset Euclidean distance can be set according to the actual application scenario. For example, any value in the range of 20 to 30 can be used as the preset Euclidean distance.
[0115] As described above, the server needs to use the preset number of bits, the preset probability and the range of characteristic values during the authentication process. In some embodiments, the preset number of bits can be determined based on the first noisy coding sequence, and the preset probability and the range of characteristic values can be sent by the client to the server during registration.
[0116] In the above scheme, since the first noisy coding sequence represents the size characteristics of the corresponding eigenvalues in the biometric feature vector to be authenticated, and the target noisy coding sequence represents the size characteristics of the corresponding eigenvalues in the target biometric feature vector, the Euclidean distance between the biometric feature vector to be authenticated and the target biometric feature vector can be determined based on the Hamming distance between the first noisy coding sequence and the target noisy coding sequence of the biometric feature vector to be authenticated; and then based on the determined Euclidean distance and the preset Euclidean distance, the biometric feature vector to be authenticated can be accurately authenticated.
[0117] Figure 3 The interactive flow chart of the second authentication method provided in the embodiment of the present application is as follows: Figure 3 As shown, the following steps are included:
[0118] Step S301: the client encodes each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of preset digits of the biometric feature vector to be authenticated, and obtains a first encoding sequence of the preset digits corresponding to each eigenvalue.
[0119] The first number series is randomly generated based on the value range of the eigenvalue.
[0120] Step S302: The client performs noise processing on the code values in the first code sequence based on a preset probability to obtain a first noisy code sequence of the biometric feature vector to be authenticated.
[0121] Step S303: the client sends the first noisy coding sequence of the biometric feature vector to be authenticated to the server.
[0122] The specific implementation of steps S301 to S303 can refer to the above embodiment and will not be described again here.
[0123] Step S304: the client determines a second noise-added coding sequence of the biometric feature vector to be authenticated based on the second sequence of the preset number of bits of the biometric feature vector to be authenticated.
[0124] The second sequence of the biometric feature vector to be authenticated can be obtained by any of the following methods:
[0125] 1) adjusting the first number sequence of the biometric feature vector to be authenticated based on a preset adjustment method to obtain a second number sequence of the biometric feature vector to be authenticated;
[0126] In this embodiment, it is necessary to ensure that the value range of the random values in the second number sequence is also lower to upper. In some optional implementations, each random value in the second number sequence can be determined in the following manner:
[0127] The random value r at the jth position in the second sequence of the biometric feature vector to be authenticated j ′=(r j *update)mod(u)+lower; where r j is the random value at the jth position in the first sequence of the biometric feature vector to be authenticated, update is an arbitrary value, and u=upper-lower (as mentioned above, upper is the upper limit of the value range of the feature value, and lower is the lower limit of the value range of the feature value).
[0128] 2) Based on the above characteristic value range, a second sequence of the biometric characteristic vector to be authenticated is randomly generated again.
[0129] The first method of obtaining the second number sequence is more efficient, and the second method of obtaining the second number sequence is more random. Different methods can be selected in different scenarios.
[0130] During implementation, the client encodes each eigenvalue in the biometric feature vector to be authenticated based on the second number series of the biometric feature vector to be authenticated, and obtains a second encoding sequence of the preset number of bits corresponding to each eigenvalue; and performs noise processing on the encoding values in the second encoding sequence based on a preset probability to obtain a second noisy encoding sequence of the biometric feature vector to be authenticated.
[0131] The specific implementation method of this step can refer to the above-mentioned method of obtaining the first noisy coding sequence of the biometric feature vector to be authenticated, which will not be repeated here.
[0132] Step S305: the client sends the second noisy coding sequence of the biometric feature vector to be authenticated to the server.
[0133] In this embodiment, the order of the above steps S301 to S303 and steps S304 to S305 is not specifically limited. Steps S301 to S303 may be performed first, and then steps S304 to S305; steps S301 to S303 and steps S304 to S305 may also be performed simultaneously; or, after executing steps S301 to S303 and step S304, step S303 and step S305 are combined, that is, the client sends the first noisy coding sequence and the second noisy coding sequence of the biometric feature vector to be authenticated to the server at the same time.
[0134] Since in the present embodiment, the first number series of different biometric feature vectors to be authenticated are different, therefore, in some optional implementations, the client may use the private key of the authenticated user to sign the above-mentioned first noisy coding sequence, the second noisy coding sequence and identification information (such as version number) that uniquely represents the biometric feature vector to be authenticated, and send the signature, the first noisy coding sequence, the second noisy coding sequence and the identification information to the server.
[0135] Step S306: The server authenticates the biometric feature vector to be authenticated according to the comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence.
[0136] The target noise-added coding sequence is a noise-added coding sequence of a target biometric feature vector determined based on the first sequence of the biometric feature vector to be authenticated and the preset probability.
[0137] The specific implementation of step S306 can refer to the above embodiment and will not be described again here.
[0138] Step S307: If the server successfully authenticates the biometric feature vector to be authenticated, the server determines the second noisy coding sequence of the biometric feature vector to be authenticated as the target noisy coding sequence of the next biometric feature vector to be authenticated.
[0139] That is, if the biometric feature vector to be authenticated is the first biometric feature vector to be authenticated, the target biometric feature vector is the initial biometric feature vector;
[0140] If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is no biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the initial biometric feature vector;
[0141] If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is a biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the last authenticated biometric feature vector, and the first sequence of the biometric feature vector to be authenticated is the second sequence of the last authenticated biometric feature vector.
[0142] The above scheme, by updating in real time the sequence for encoding the characteristic values in the biometric feature vector to be authenticated, makes it difficult for the server to determine the sequence used for encoding, further increases the difficulty for the server to determine the biometric feature vector to be authenticated, and improves the security of the authentication process.
[0143] The following is a specific example:
[0144] The biometric feature vector contains 640-dimensional feature values, and the preset number of bits of the sequence is 256.
[0145] When registering, the client encodes each feature value in the initial biometric feature vector based on the sequence R1 to obtain 640 initial encoding sequences;
[0146] The client performs noise processing on the code values in the initial code sequence based on a preset probability to obtain an initial noisy code sequence;
[0147] The client uses the registered user's private key to sign the initial noisy coding sequence and the identification information that uniquely represents the initial biometric feature vector, and sends the signature, the initial noisy coding sequence and the identification information to the server;
[0148] After verifying the signature, the server uses the initial noisy coding sequence as the target noisy coding sequence.
[0149] When biometric authentication is required, the client initiates an authentication request to the server, and the server returns the generated nonce to the client;
[0150] The client encodes each feature value in the first biometric feature vector N1 to be authenticated based on the sequence R1 to obtain 640 first encoding sequences;
[0151] The client performs noise processing on the code values in the first code sequence based on a preset probability to obtain a first noisy code sequence of N1;
[0152] The client encodes each eigenvalue in N1 based on the sequence R2 to obtain 640 second encoding sequences;
[0153] The client performs noise processing on the code values in the second code sequence based on a preset probability to obtain a second noisy code sequence of N1;
[0154] The client uses the private key of the authenticated user to sign the nonce, the first noisy coding sequence of N1, the second noisy coding sequence, and the identification information uniquely representing N1, and sends the signature, the first noisy coding sequence, the second noisy coding sequence, and the identification information uniquely representing N1 to the server;
[0155] After verifying the signature, the server compares the first noisy coding sequence of N1 with the initial noisy coding sequence, and notifies the client after N1 is authenticated.
[0156] The client initiates an authentication request to the server, and the server returns the generated nonce to the client;
[0157] The client encodes each eigenvalue in the second biometric feature vector N2 for authentication based on the sequence R2 to obtain 640 first encoding sequences;
[0158] The client performs noise processing on the code values in the first code sequence based on a preset probability to obtain a first noisy code sequence of N2;
[0159] The client encodes each eigenvalue in N2 based on the sequence R3 to obtain 640 second encoding sequences;
[0160] The client performs noise processing on the code values in the second code sequence based on a preset probability to obtain a second noisy code sequence of N2;
[0161] Use the private key of the authenticated user to sign the nonce, the first noisy coding sequence of N2, the second noisy coding sequence, and the identification information uniquely representing N2, and send the signature, the first noisy coding sequence, the second noisy coding sequence, and the identification information uniquely representing N2 to the server;
[0162] The server compares the first noisy coding sequence of N2 with the second noisy coding sequence of N1, and notifies the client after N2 is authenticated.
[0163] The above examples are only for explaining the authentication process more clearly, but the present application is not limited thereto.
[0164] In the embodiment of the present application, the authentication method executed by the client is as follows: Figure 4 As shown, the following steps are included:
[0165] Step S401: Based on a first number sequence of a biometric feature vector to be authenticated with a preset number of digits, each eigenvalue in the biometric feature vector to be authenticated is encoded to obtain a first encoding sequence of the preset number of digits corresponding to each eigenvalue; wherein the first number sequence is randomly generated based on a value range of the eigenvalue;
[0166] Step S402: performing noise processing on the code values in the first code sequence based on a preset probability to obtain a first noisy code sequence of the biometric feature vector to be authenticated;
[0167] Step S403: sending the first noisy coding sequence of the biometric feature vector to be authenticated to the server, so that the server authenticates the biometric feature vector to be authenticated according to the comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence;
[0168] The target noise-added coding sequence is a noise-added coding sequence of a target biometric feature vector determined based on the first sequence of the biometric feature vector to be authenticated and the preset probability.
[0169] In some optional implementations, based on a first sequence of a preset number of bits of a biometric feature vector to be authenticated, encoding each eigenvalue in the biometric feature vector to be authenticated to obtain a first encoding sequence of the preset number of bits corresponding to each eigenvalue includes:
[0170] For any characteristic value, sequentially compare the characteristic value with the random value of each bit in the first number sequence of the biometric characteristic vector to be authenticated;
[0171] If the characteristic value is smaller than the random value, the encoding value of the corresponding bit is determined to be a preset first encoding value; otherwise, the encoding value of the corresponding bit is determined to be a preset second encoding value.
[0172] In some optional implementations, the first coding sequence includes a preset first coding value and / or a preset second coding value; the first coding value is the second coding value after noise addition, and the second coding value is the first coding value after noise addition.
[0173] In some optional implementations, the method further comprises:
[0174] Determine a second noise-added coding sequence of the biometric feature vector to be authenticated based on the second number sequence of the biometric feature vector to be authenticated of the preset number of bits; wherein the second number sequence of the biometric feature vector to be authenticated is obtained by adjusting the first number sequence of the biometric feature vector to be authenticated based on a preset adjustment method, or is randomly generated based on the value range of the eigenvalue;
[0175] The second noisy coding sequence of the biometric feature vector to be authenticated is sent to the server, so that after the server successfully authenticates the biometric feature vector to be authenticated, the server determines the second noisy coding sequence of the biometric feature vector to be authenticated as the target noisy coding sequence of the next biometric feature vector to be authenticated.
[0176] In some optional implementations, if the biometric feature vector to be authenticated is the first biometric feature vector to be authenticated, the target biometric feature vector is an initial biometric feature vector;
[0177] If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is no biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the initial biometric feature vector;
[0178] If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is a biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the last authenticated biometric feature vector, and the first sequence of the biometric feature vector to be authenticated is the second sequence of the last authenticated biometric feature vector.
[0179] In the embodiment of the present application, the authentication method performed by the server is as follows: Figure 5 As shown, the following steps are included:
[0180] Step S501: receiving a first noisy coding sequence of a biometric feature vector to be authenticated sent by a client;
[0181] The first noise-added coding sequence of the biometric feature vector to be authenticated is obtained by encoding each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of the biometric feature vector to be authenticated with a preset number of bits, obtaining the first coding sequence of the preset number of bits corresponding to each eigenvalue, and then performing noise processing on the coding values in the first coding sequence based on a preset probability;
[0182] Step S502: authenticating the biometric feature vector to be authenticated according to the comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0183] In some optional implementations, authenticating the biometric feature vector to be authenticated according to a comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence includes:
[0184] Determine the Hamming distance between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence;
[0185] Determine the Euclidean distance between the biometric feature vector to be authenticated and the target biometric feature vector according to the determined Hamming distance, the preset number of bits, and the preset probability;
[0186] If the determined Euclidean distance is less than or equal to the preset Euclidean distance, the authentication of the biometric feature vector to be authenticated is passed; otherwise, the authentication of the biometric feature vector to be authenticated is failed.
[0187] In some optional implementations, the method further comprises:
[0188] Receive a second noisy coding sequence of the biometric feature vector to be authenticated sent by the client; wherein the second noisy coding sequence of the biometric feature vector to be authenticated is obtained by the client encoding each eigenvalue in the biometric feature vector to be authenticated based on a second sequence of the biometric feature vector to be authenticated with a preset number of bits, obtaining the second coding sequence of the preset number of bits corresponding to each eigenvalue, and then performing a noise processing on the coding values in the second coding sequence based on the preset probability;
[0189] If the biometric feature vector to be authenticated is authenticated successfully, the second noisy coding sequence of the biometric feature vector to be authenticated is determined as the target noisy coding sequence of the next biometric feature vector to be authenticated.
[0190] Figure 4 and Figure 5 The specific implementation of the embodiment can refer to the implementation of the above-mentioned interaction method, and the repeated parts will not be repeated.
[0191] like Figure 6 As shown, based on Figure 4 The same inventive concept as the authentication method shown in FIG. 1 , the embodiment of the present application provides a first authentication device 600, which is applied to a client and includes:
[0192] The encoding module 601 is used to encode each eigenvalue in the biometric feature vector to be authenticated based on a first number sequence of a preset number of digits of the biometric feature vector to be authenticated, so as to obtain a first encoding sequence of the preset number of digits corresponding to each eigenvalue; wherein the first number sequence is randomly generated based on a value range of the eigenvalue;
[0193] A noise adding module 602, configured to perform noise adding processing on the code values in the first code sequence based on a preset probability, so as to obtain a first noise adding code sequence of the biometric feature vector to be authenticated;
[0194] The sending module 603 is used to send the first noisy coding sequence of the biometric feature vector to be authenticated to the server, so that the server authenticates the biometric feature vector to be authenticated according to the comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence; wherein the target noisy coding sequence is the noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0195] In some optional implementation manners, the encoding module 601 is specifically used for:
[0196] For any characteristic value, sequentially compare the characteristic value with the random value of each bit in the first number sequence of the biometric characteristic vector to be authenticated;
[0197] If the characteristic value is smaller than the random value, the encoding value of the corresponding bit is determined to be a preset first encoding value; otherwise, the encoding value of the corresponding bit is determined to be a preset second encoding value.
[0198] In some optional implementations, the first coding sequence includes a preset first coding value and / or a preset second coding value; the first coding value is the second coding value after noise addition, and the second coding value is the first coding value after noise addition.
[0199] In some optional implementation manners, the encoding module 601 is further used for:
[0200] Determine a second noise-added coding sequence of the biometric feature vector to be authenticated based on the second number sequence of the biometric feature vector to be authenticated of the preset number of bits; wherein the second number sequence of the biometric feature vector to be authenticated is obtained by adjusting the first number sequence of the biometric feature vector to be authenticated based on a preset adjustment method, or is randomly generated based on the value range of the eigenvalue;
[0201] The sending module 603 is also used for:
[0202] The second noisy coding sequence of the biometric feature vector to be authenticated is sent to the server, so that after the server successfully authenticates the biometric feature vector to be authenticated, the server determines the second noisy coding sequence of the biometric feature vector to be authenticated as the target noisy coding sequence of the next biometric feature vector to be authenticated.
[0203] In some optional implementations, if the biometric feature vector to be authenticated is the first biometric feature vector to be authenticated, the target biometric feature vector is an initial biometric feature vector;
[0204] If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is no biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the initial biometric feature vector;
[0205] If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is a biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the last authenticated biometric feature vector, and the first sequence of the biometric feature vector to be authenticated is the second sequence of the last authenticated biometric feature vector.
[0206] like Figure 7 As shown, based on Figure 5 The same inventive concept as the authentication method shown in FIG. 1 , the embodiment of the present application provides a first authentication device 700, which is applied to a server and includes:
[0207] The receiving module 701 is used to receive a first noise-added coding sequence of a biometric feature vector to be authenticated sent by a client; wherein the first noise-added coding sequence of the biometric feature vector to be authenticated is obtained by the client encoding each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of the biometric feature vector to be authenticated with a preset number of bits, and then performing noise processing on the coding values in the first coding sequence based on a preset probability after obtaining the first coding sequence of the preset number of bits corresponding to each eigenvalue;
[0208] The authentication module 702 is used to authenticate the biometric feature vector to be authenticated according to the comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence; wherein the target noisy coding sequence is the noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0209] In some optional implementations, the authentication module 702 is specifically used for:
[0210] Determine a Hamming distance between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence;
[0211] Determine the Euclidean distance between the biometric feature vector to be authenticated and the target biometric feature vector according to the determined Hamming distance, the preset number of bits, and the preset probability;
[0212] If the determined Euclidean distance is less than or equal to the preset Euclidean distance, the authentication of the biometric feature vector to be authenticated is passed; otherwise, the authentication of the biometric feature vector to be authenticated is failed.
[0213] In some optional implementation manners, the receiving module 701 is further used for:
[0214] Receive a second noisy coding sequence of the biometric feature vector to be authenticated sent by the client; wherein the second noisy coding sequence of the biometric feature vector to be authenticated is obtained by the client encoding each eigenvalue in the biometric feature vector to be authenticated based on a second sequence of the biometric feature vector to be authenticated with a preset number of bits, obtaining the second coding sequence of the preset number of bits corresponding to each eigenvalue, and then performing a noise processing on the coding values in the second coding sequence based on the preset probability;
[0215] If the biometric feature vector to be authenticated is authenticated successfully, the second noisy coding sequence of the biometric feature vector to be authenticated is determined as the target noisy coding sequence of the next biometric feature vector to be authenticated.
[0216] Figure 6 and Figure 7 The specific implementation of the embodiment can refer to the implementation of the above-mentioned interaction method, and the repeated parts will not be repeated.
[0217] Based on the same technical concept, the embodiment of the present application also provides a client 800, such as Figure 8 As shown, it includes at least one processor 801 and a memory 802 connected to the at least one processor. The specific connection medium between the processor 801 and the memory 802 is not limited in the embodiment of the present application. Figure 8 For example, the processor 801 and the memory 802 are connected via a bus 803. The bus can be divided into an address bus, a data bus, a control bus, etc. For convenience of representation, Figure 8 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0218] Among them, the processor 801 is the control center of the client, and can use various interfaces and lines to connect various parts of the client, and realize data processing by running or executing instructions stored in the memory 802 and calling data stored in the memory 802. Optionally, the processor 801 may include one or more processing units, and the processor 801 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, etc., and the modem processor mainly processes the issuance of instructions. It is understandable that the above-mentioned modem processor may not be integrated into the processor 801. In some embodiments, the processor 801 and the memory 802 may be implemented on the same chip, and in some embodiments, they may also be implemented separately on independent chips.
[0219] The processor 801 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiment of the authentication method may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0220] The memory 802 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 802 may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Random Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a magnetic memory, a disk, an optical disk, etc. The memory 802 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 802 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.
[0221] In the embodiment of the present application, the memory 802 stores a computer program. When the program is executed by the processor 801, the processor 801 executes:
[0222] Based on a first number sequence of a biometric feature vector to be authenticated with a preset number of digits, encoding each eigenvalue in the biometric feature vector to be authenticated, to obtain a first encoding sequence of the preset number of digits corresponding to each eigenvalue; wherein the first number sequence is randomly generated based on a value range of the eigenvalue;
[0223] Performing noise processing on the code values in the first code sequence based on a preset probability to obtain a first noise-added code sequence of the biometric feature vector to be authenticated;
[0224] The first noisy coding sequence of the biometric feature vector to be authenticated is sent to a server, so that the server authenticates the biometric feature vector to be authenticated according to a comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and a target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0225] In some optional implementation manners, the processor 801 specifically performs:
[0226] For any characteristic value, sequentially compare the characteristic value with the random value of each bit in the first number sequence of the biometric characteristic vector to be authenticated;
[0227] If the characteristic value is smaller than the random value, the encoding value of the corresponding bit is determined to be a preset first encoding value; otherwise, the encoding value of the corresponding bit is determined to be a preset second encoding value.
[0228] In some optional implementations, the first coding sequence includes a preset first coding value and / or a preset second coding value; the first coding value is the second coding value after noise addition, and the second coding value is the first coding value after noise addition.
[0229] In some optional implementations, the processor 801 further executes:
[0230] Determine a second noise-added coding sequence of the biometric feature vector to be authenticated based on the second number sequence of the biometric feature vector to be authenticated of the preset number of bits; wherein the second number sequence of the biometric feature vector to be authenticated is obtained by adjusting the first number sequence of the biometric feature vector to be authenticated based on a preset adjustment method, or is randomly generated based on the value range of the eigenvalue;
[0231] The second noisy coding sequence of the biometric feature vector to be authenticated is sent to the server, so that after the server successfully authenticates the biometric feature vector to be authenticated, the server determines the second noisy coding sequence of the biometric feature vector to be authenticated as the target noisy coding sequence of the next biometric feature vector to be authenticated.
[0232] In some optional implementations, if the biometric feature vector to be authenticated is the first biometric feature vector to be authenticated, the target biometric feature vector is an initial biometric feature vector;
[0233] If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is no biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the initial biometric feature vector;
[0234] If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is a biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the last authenticated biometric feature vector, and the first sequence of the biometric feature vector to be authenticated is the second sequence of the last authenticated biometric feature vector.
[0235] Since the client is the client in the method in the embodiment of the present application, and the principle of solving the problem by the client is similar to that of the method, the implementation of the client can refer to the implementation of the method, and the repeated parts will not be repeated.
[0236] Based on the same technical concept, the embodiment of the present application also provides a server 900, such as Fig. 9 As shown, it includes at least one processor 901 and a memory 902 connected to the at least one processor. The specific connection medium between the processor 901 and the memory 902 is not limited in the embodiment of the present application. Fig. 9 For example, the processor 901 and the memory 902 are connected via a bus 903. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig. 9 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0237] Among them, the processor 901 is the control center of the server, and can use various interfaces and lines to connect various parts of the server, and realize data processing by running or executing instructions stored in the memory 902 and calling data stored in the memory 902. Optionally, the processor 901 may include one or more processing units, and the processor 901 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes the issuance of instructions. It is understandable that the above-mentioned modem processor may not be integrated into the processor 901. In some embodiments, the processor 901 and the memory 902 may be implemented on the same chip, and in some embodiments, they may also be implemented separately on independent chips.
[0238] The processor 901 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiment of the authentication method may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0239] The memory 902 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 902 may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Random Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a magnetic memory, a disk, an optical disk, etc. The memory 902 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 902 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.
[0240] In the embodiment of the present application, the memory 902 stores a computer program. When the program is executed by the processor 901, the processor 901 executes:
[0241] Receive a first noisy coding sequence of a biometric feature vector to be authenticated sent by a client; wherein the first noisy coding sequence of the biometric feature vector to be authenticated is obtained by encoding each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of the biometric feature vector to be authenticated with a preset number of bits, and after obtaining the first coding sequence of the preset number of bits corresponding to each eigenvalue, the coding value in the first coding sequence is subjected to noise processing based on a preset probability;
[0242] The biometric feature vector to be authenticated is authenticated according to a comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability.
[0243] In some optional implementations, the processor 901 specifically performs:
[0244] Determine the Hamming distance between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence;
[0245] Determine the Euclidean distance between the biometric feature vector to be authenticated and the target biometric feature vector according to the determined Hamming distance, the preset number of bits, and the preset probability;
[0246] If the determined Euclidean distance is less than or equal to the preset Euclidean distance, the authentication of the biometric feature vector to be authenticated is passed; otherwise, the authentication of the biometric feature vector to be authenticated is failed.
[0247] In some optional implementations, the processor 901 further executes:
[0248] Receive a second noisy coding sequence of the biometric feature vector to be authenticated sent by the client; wherein the second noisy coding sequence of the biometric feature vector to be authenticated is obtained by the client encoding each eigenvalue in the biometric feature vector to be authenticated based on a second sequence of the biometric feature vector to be authenticated with a preset number of bits, obtaining the second coding sequence of the preset number of bits corresponding to each eigenvalue, and then performing a noise processing on the coding values in the second coding sequence based on the preset probability;
[0249] If the biometric feature vector to be authenticated is authenticated successfully, the second noisy coding sequence of the biometric feature vector to be authenticated is determined as the target noisy coding sequence of the next biometric feature vector to be authenticated.
[0250] Since the server is the server in the method in the embodiment of the present application, and the principle of solving the problem by the server is similar to that of the method, the implementation of the server can refer to the implementation of the method, and the repeated parts will not be repeated.
[0251] Based on the same technical concept, an embodiment of the present application also provides a computer-readable storage medium, which stores a computer program that can be executed by a computing device. When the program runs on the computing device, the computing device executes the steps of the above-mentioned authentication method.
[0252] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0253] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0254] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0255] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0256] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0257] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. An authentication method, characterized in that: Applied to the client, the method includes: Based on a first number sequence of a biometric feature vector to be authenticated with a preset number of digits, encoding each eigenvalue in the biometric feature vector to be authenticated, to obtain a first encoding sequence of the preset number of digits corresponding to each eigenvalue; wherein the first number sequence is randomly generated based on a value range of the eigenvalue; Performing noise processing on the code values in the first code sequence based on a preset probability to obtain a first noise-added code sequence of the biometric feature vector to be authenticated; Sending the first noisy coding sequence of the biometric feature vector to be authenticated to the server, so that the server authenticates the biometric feature vector to be authenticated according to the comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first sequence of the biometric feature vector to be authenticated and the preset probability, and the target noisy coding sequence is obtained by encoding and noisy processing in the same manner as the first noisy coding sequence of the biometric feature vector to be authenticated; The method of encoding each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of a preset number of bits of the biometric feature vector to be authenticated to obtain a first encoding sequence of the preset number of bits corresponding to each eigenvalue comprises: For any characteristic value, sequentially compare the characteristic value with the random value of each bit in the first number sequence of the biometric characteristic vector to be authenticated; If the characteristic value is less than the random value, the encoding value of the corresponding bit is determined to be a preset first encoding value, otherwise the encoding value of the corresponding bit is determined to be a preset second encoding value; The first coding value is noised to obtain the second coding value, and the second coding value is inverted to obtain the first coding value.
2. The method according to claim 1, characterized in that The method further comprises: Based on the second number sequence of the biometric feature vector to be authenticated with the preset number of bits, each characteristic value in the biometric feature vector to be authenticated is encoded to obtain a second code sequence of the preset number of bits corresponding to each characteristic value; based on a preset probability, the code values in the second code sequence are subjected to noise processing to obtain a second noisy code sequence of the biometric feature vector to be authenticated; wherein the second number sequence of the biometric feature vector to be authenticated is obtained by adjusting the first number sequence of the biometric feature vector to be authenticated based on a preset adjustment method, or is randomly generated again based on the value range of the characteristic value; The second noisy coding sequence of the biometric feature vector to be authenticated is sent to the server, so that after the server successfully authenticates the biometric feature vector to be authenticated, the server determines the second noisy coding sequence of the biometric feature vector to be authenticated as the target noisy coding sequence of the next biometric feature vector to be authenticated.
3. The method according to claim 2, characterized in that If the biometric feature vector to be authenticated is the first biometric feature vector to be authenticated, the target biometric feature vector is the initial biometric feature vector; If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is no biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the initial biometric feature vector; If the biometric feature vector to be authenticated is not the first biometric feature vector to be authenticated, and there is a biometric feature vector that has been authenticated before the biometric feature vector to be authenticated, then the target biometric feature vector is the last authenticated biometric feature vector, and the target noisy coding sequence of the biometric feature vector to be authenticated is the second noisy coding sequence of the last authenticated biometric feature vector.
4. An authentication method, characterized in that: Applied to a server, the method comprises: Receive a first noisy coding sequence of a biometric feature vector to be authenticated sent by a client; wherein the first noisy coding sequence of the biometric feature vector to be authenticated is obtained by encoding each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of the biometric feature vector to be authenticated with a preset number of bits, and after obtaining the first coding sequence of the preset number of bits corresponding to each eigenvalue, the coding value in the first coding sequence is subjected to noise processing based on a preset probability; Authenticate the biometric feature vector to be authenticated according to the comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first sequence of the biometric feature vector to be authenticated and the preset probability, and the target noisy coding sequence is obtained by encoding and noisy processing in the same manner as the first noisy coding sequence of the biometric feature vector to be authenticated; The method of encoding each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of a preset number of bits of the biometric feature vector to be authenticated to obtain a first encoding sequence of the preset number of bits corresponding to each eigenvalue comprises: For any characteristic value, sequentially compare the characteristic value with the random value of each bit in the first number sequence of the biometric characteristic vector to be authenticated; If the characteristic value is less than the random value, the encoding value of the corresponding bit is determined to be a preset first encoding value; otherwise, the encoding value of the corresponding bit is determined to be a preset second encoding value; The first coding value is noised to obtain the second coding value, and the second coding value is inverted to obtain the first coding value.
5. The method according to claim 4, characterized in that Authenticating the biometric feature vector to be authenticated according to a comparison result between the first noise-added coding sequence of the biometric feature vector to be authenticated and the target noise-added coding sequence, comprising: Determine the Hamming distance between the first noisy coding sequence of the biometric feature vector to be authenticated and the target noisy coding sequence; Determine the Euclidean distance between the biometric feature vector to be authenticated and the target biometric feature vector according to the determined Hamming distance, the preset number of bits, and the preset probability; If the determined Euclidean distance is less than or equal to the preset Euclidean distance, the authentication of the biometric feature vector to be authenticated is passed; otherwise, the authentication of the biometric feature vector to be authenticated is failed.
6. The method according to claim 4, characterized in that The method further comprises: Receive a second noisy coding sequence of the biometric feature vector to be authenticated sent by the client; wherein the second noisy coding sequence of the biometric feature vector to be authenticated is obtained by the client encoding each eigenvalue in the biometric feature vector to be authenticated based on a second sequence of the biometric feature vector to be authenticated with a preset number of bits, obtaining the second coding sequence of the preset number of bits corresponding to each eigenvalue, and then performing a noise processing on the coding values in the second coding sequence based on the preset probability; If the biometric feature vector to be authenticated is authenticated successfully, the second noisy coding sequence of the biometric feature vector to be authenticated is determined as the target noisy coding sequence of the next biometric feature vector to be authenticated.
7. An authentication device, characterized in that: Applied to the client, the device includes: An encoding module, configured to encode each eigenvalue in the biometric feature vector to be authenticated based on a first number sequence of a preset number of digits of the biometric feature vector to be authenticated, to obtain a first encoding sequence of the preset number of digits corresponding to each eigenvalue; wherein the first number sequence is randomly generated based on a value range of the eigenvalue; A noise adding module, configured to perform noise adding processing on the code values in the first code sequence based on a preset probability, so as to obtain a first noise adding code sequence of the biometric feature vector to be authenticated; A sending module, used for sending the first noisy coding sequence of the biometric feature vector to be authenticated to a server, so that the server authenticates the biometric feature vector to be authenticated according to the comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and a target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first number series of the biometric feature vector to be authenticated and the preset probability, and the target noisy coding sequence is obtained by encoding and noisy processing in the same manner as the first noisy coding sequence of the biometric feature vector to be authenticated; The encoding module is specifically used to compare any characteristic value with the random value of each bit in the first sequence of the biometric characteristic vector to be authenticated in sequence; If the characteristic value is less than the random value, the encoding value of the corresponding bit is determined to be a preset first encoding value; otherwise, the encoding value of the corresponding bit is determined to be a preset second encoding value; The first coding value is noised to obtain the second coding value, and the second coding value is inverted to obtain the first coding value.
8. An authentication device, characterized in that: Applied to a server, the device comprises: A receiving module, configured to receive a first noise-added coding sequence of a biometric feature vector to be authenticated sent by a client; wherein the first noise-added coding sequence of the biometric feature vector to be authenticated is obtained by the client encoding each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of the biometric feature vector to be authenticated with a preset number of bits, obtaining the first coding sequence of the preset number of bits corresponding to each eigenvalue, and then performing noise processing on the coding values in the first coding sequence based on a preset probability; an authentication module, configured to authenticate the biometric feature vector to be authenticated according to a comparison result between the first noisy coding sequence of the biometric feature vector to be authenticated and a target noisy coding sequence; wherein the target noisy coding sequence is a noisy coding sequence of the target biometric feature vector determined based on the first sequence of the biometric feature vector to be authenticated and the preset probability, and the target noisy coding sequence is obtained by encoding and noisy processing in the same manner as the first noisy coding sequence of the biometric feature vector to be authenticated; The method of encoding each eigenvalue in the biometric feature vector to be authenticated based on a first sequence of a preset number of bits of the biometric feature vector to be authenticated to obtain a first encoding sequence of the preset number of bits corresponding to each eigenvalue comprises: For any characteristic value, sequentially compare the characteristic value with the random value of each bit in the first number sequence of the biometric characteristic vector to be authenticated; If the characteristic value is less than the random value, the encoding value of the corresponding bit is determined to be a preset first encoding value; otherwise, the encoding value of the corresponding bit is determined to be a preset second encoding value; The first coding value is noised to obtain the second coding value, and the second coding value is inverted to obtain the first coding value.
Citation Information
Patent Citations
Authentication method and system based on fingerprints
CN103595719A
Revocable palmprint feature recognition method and system based on parallel IosMms
CN110188729A
Identity verification using biometric data and non-invertible functions via blockchain
CN111033502A