Zero-knowledge proof-based authentication methods, apparatus, devices, and storage media
By acquiring users' biometric information, generating joint biometric feature data, and using zero-knowledge proofs to generate private keys, the problem of insufficient user information security is solved, and the security of identity verification and privacy protection are improved.
Patent Information
- Application Number
- CN202410379691.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-29
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2044-03-29
AI Technical Summary
In existing technologies, user information lacks security during the authentication process, and private keys need to be provided to the business system, posing a risk of information leakage.
By acquiring users' biometric information, including fingerprint images, facial videos, and audio files, feature processing is performed to generate joint biometric feature data. Zero-knowledge proofs are then used to generate private keys for identity verification, thus preventing private key leakage.
It improves the security of biometric information during the identity verification process, prevents the misuse of private keys, and enhances the protection of user information.
Smart Images

Figure CN118368089B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of information security technology, and in particular to an authentication method, apparatus, device, and storage medium based on zero-knowledge proof. Background Technology
[0002] With the development of technology and the arrival of the information and network era, identity authentication has become crucial. Identity authentication is required in various fields, including communications, finance, and social networking. It not only ensures network security but also effectively protects personal privacy and asset security.
[0003] In existing technologies, users need to archive the target information involved in identity authentication into the business system. The business system generates a user's private key and a business system public key based on the target information. The user's private key can be used to verify that the target information is indeed user information, while the business system's public key is used to encrypt business data. The private key is the only way for the user to verify the target information, and by setting a key, user information can be protected from being stolen by other users conducting business.
[0004] However, this method requires providing information to the business system for verification, and the staff of the business system will know the target information, which still poses a problem of insufficient user information security. Summary of the Invention
[0005] This application provides an authentication method, apparatus, device, and storage medium based on zero-knowledge proof to address the technical problem of insufficient user information security.
[0006] Firstly, this application provides an authentication method based on zero-knowledge proof, comprising:
[0007] The user's biometric information is obtained, including fingerprint images, facial videos, and audio files.
[0008] The fingerprint image, the face video, and the audio file are processed to obtain the user's biometric joint feature data, and the user's private key is generated based on the biometric joint feature data.
[0009] Based on the private key and zero-knowledge proof, generate the user's key proof and perform biometric owner authentication.
[0010] Optionally, the step of performing feature processing on the fingerprint image, the facial video, and the audio file to obtain the user's combined biometric feature data includes:
[0011] Image features are extracted from the fingerprint image to obtain fingerprint ridges and fingerprint ridges, and a fingerprint feature vector is generated based on the fingerprint ridges and fingerprint ridges.
[0012] Liveness analysis and spoofing analysis are performed on the face video to obtain human heart rate and face texture, and a face feature vector is generated based on the human heart rate and face texture;
[0013] The audio file is subjected to feature extraction to obtain frequency domain features and spectral features, and an audio feature vector is generated based on the frequency domain features and the spectral features;
[0014] Based on the fingerprint feature vector, facial feature vector, and voice feature vector, the biometric joint characteristics of the biometric owner are determined.
[0015] Optionally, determining the combined biometric features of the biometric owner based on the fingerprint feature vector, facial feature vector, and voice feature vector includes:
[0016] Obtain fingerprint feature weights, facial feature weights, and voice feature weights;
[0017] Based on the fingerprint feature weights, the facial feature weights, and the voice feature weights, feature fusion processing is performed on the fingerprint feature vector, the facial feature vector, and the voice feature vector to determine the biometric joint features of the biometric owner.
[0018] Optionally, generating the user-held private key based on the biometric joint feature data includes:
[0019] Based on the biometric joint feature data and hash function, a biometric hash value is determined, and the biometric hash value is used as the private key held by the user.
[0020] Optionally, generating the user's key proof based on the private key and zero-knowledge proof, and performing biometric owner authentication, includes:
[0021] Based on the private key and the zero-knowledge proof, generate the proof value and determine whether the proof value can be verified and pass the value check.
[0022] If the verification of the proven numerical value passes, then the user's identity as the owner of the biometric data is credible.
[0023] If the verification of the stated numerical value fails, then the user's identity as the owner of the biometric data is incorrect.
[0024] Optionally, generating the proof value based on the private key and the zero-knowledge proof, and determining whether the proof value can be verified by the verification value, includes:
[0025] Obtain the random number and elliptic curve base point sent by the user;
[0026] The user's proof value is determined based on the private key, the random number, and the elliptic curve base point;
[0027] Obtain the second public key, and determine the verification value of the biometric owner based on the second public key. The second public key is used to instruct the biometric owner to hold the encrypted public key corresponding to the private key.
[0028] Determine whether the proven numerical value can be verified and passes the numerical verification.
[0029] Optionally, determining the user's proof value based on the private key, the random number, and the elliptic curve base point includes:
[0030] Based on the private key and the elliptic curve base point, determine the first public key corresponding to the private key held by the user;
[0031] The random number and the base point of the elliptic curve are multiplied to obtain the x-coordinate value of the elliptic curve;
[0032] The first hash value is determined by calculating the first public key and the x-coordinate value of the elliptic curve using the hash function.
[0033] The random number, the first hash value, and the private key are processed to determine the ordinate value of the elliptic curve;
[0034] The user's proof value is determined based on the ordinate value of the elliptic curve and the base point of the elliptic curve.
[0035] Optionally, obtaining the second public key and determining the verification value of the biometric owner based on the second public key includes:
[0036] Obtain the second public key, and determine the second hash value based on the second public key;
[0037] The verification value of the biometric owner is determined based on the x-coordinate value of the elliptic curve, the second hash value, and the second public key.
[0038] Secondly, this application provides an authentication device based on zero-knowledge proof, comprising:
[0039] The acquisition module is used to acquire the user's biometric information, which includes: fingerprint images, facial videos, and audio files;
[0040] The processing module is used to perform feature processing on the fingerprint image, the face video, and the sound file to obtain the user's biometric joint feature data;
[0041] A generation module is used to generate the private key held by the user based on the biometric joint feature data;
[0042] The processing module is also used to generate the user's key proof based on the private key and zero-knowledge proof, and to perform biometric owner authentication.
[0043] Optionally, the zero-knowledge proof-based authentication device further includes: a determination module;
[0044] The processing module is further configured to extract image features from the fingerprint image to obtain fingerprint ridges and fingerprint ridges, and generate a fingerprint feature vector based on the fingerprint ridges and fingerprint ridges.
[0045] The processing module is also used to perform liveness analysis and spoofing analysis on the face video, obtain human heart rate and face texture, and generate face feature vector based on the human heart rate and face texture;
[0046] The processing module is further configured to extract features from the audio file to obtain frequency domain features and spectral features, and generate an audio feature vector based on the frequency domain features and the spectral features;
[0047] The determining module is used to determine the biometric joint characteristics of the biometric owner based on the fingerprint feature vector, facial feature vector, and voice feature vector.
[0048] Optionally, the acquisition module is used to acquire fingerprint feature weights, facial feature weights, and voice feature weights;
[0049] The processing module is used to perform feature fusion processing on the fingerprint feature vector, the face feature vector, and the voice feature vector according to the fingerprint feature weight, the face feature weight, and the voice feature weight, to determine the biometric joint features of the biometric owner.
[0050] Optionally, the determining module is further configured to determine a biometric hash value based on the biometric joint feature data and the hash function, and use the biometric hash value as the private key held by the user.
[0051] Optionally, the determining module is further configured to generate the proof value based on the private key and the zero-knowledge proof, and determine whether the proof value can be verified by the verification value.
[0052] The processing module is further configured to, if the verification of the proof value passes, then the user's identity as the owner of the biometric feature is considered credible;
[0053] The processing module is further configured to determine that if the verification of the proof value fails, the user's identity as the owner of the biometric feature is incorrect.
[0054] Optionally, the acquisition module is further configured to acquire the random number and elliptic curve base point sent by the user;
[0055] The determining module is further configured to determine the user's proof value based on the private key, the random number, and the elliptic curve base point;
[0056] The determining module is further configured to obtain a second public key and determine the verification value of the biometric owner based on the second public key, wherein the second public key is used to instruct the biometric owner to hold the encrypted public key corresponding to the private key;
[0057] The determining module is also used to determine whether the proven numerical value can be verified and pass the numerical verification.
[0058] Optionally, the determining module is further configured to determine the first public key corresponding to the private key held by the user based on the private key and the elliptic curve base point;
[0059] The processing module is also used to multiply the random number and the base point of the elliptic curve to obtain the x-coordinate value of the elliptic curve.
[0060] The determining module is further configured to calculate the first hash value based on the hash function for the first public key and the x-coordinate value of the elliptic curve;
[0061] The processing module is further configured to perform calculations on the random number, the first hash value, and the private key to determine the elliptic curve ordinate value;
[0062] The determining module is further configured to determine the user's proof value based on the elliptic curve's ordinate value and the elliptic curve's base point.
[0063] Optionally, the determining module is further configured to obtain a second public key and determine a second hash value based on the second public key;
[0064] The determining module is further configured to determine the verification value of the biometric owner based on the elliptic curve abscissa value, the second hash value, and the second public key.
[0065] Thirdly, this application provides an authentication device based on zero-knowledge proof, comprising:
[0066] Memory;
[0067] processor;
[0068] The memory stores computer-executed instructions;
[0069] The processor executes computer execution instructions stored in the memory to implement the zero-knowledge proof-based authentication method as described in the first aspect and various possible implementations of the first aspect and the second aspect.
[0070] Fourthly, this application provides a computer-readable storage medium, characterized in that the computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the zero-knowledge proof-based authentication method as described in the first aspect and various possible implementations of the first aspect.
[0071] The zero-knowledge proof-based authentication method provided in this application obtains a user's biometric information, including fingerprint images, facial videos, and audio files. Feature processing is performed on the fingerprint images, facial videos, and audio files to obtain the user's combined biometric feature data. Based on the combined biometric feature data, a private key held by the user is generated. Using the private key and zero-knowledge proof, a key proof for the user is generated, and biometric owner authentication is performed. This method improves the security of user biometric information during authentication and avoids the security risk of misuse after private key leakage. Attached Figure Description
[0072] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0073] Figure 1 A schematic diagram illustrating an application scenario for identity verification based on zero-knowledge proofs, provided in an embodiment of this application.
[0074] Figure 2 The flowchart of the zero-knowledge proof-based authentication method provided in the embodiments of this application Figure 1 ;
[0075] Figure 3 The flowchart of the zero-knowledge proof-based authentication method provided in the embodiments of this application Figure 2 ;
[0076] Figure 4 The flowchart of the zero-knowledge proof-based authentication method provided in the embodiments of this application Figure 3 ;
[0077] Figure 5A schematic diagram of the structure of an identity verification device based on zero-knowledge proof provided in an embodiment of this application;
[0078] Figure 6 A schematic diagram of the structure of an authentication device based on zero-knowledge proof provided in an embodiment of this application.
[0079] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0080] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0081] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use, processing, transmission, provision, disclosure, and application of the relevant data all comply with the relevant laws, regulations, and standards of the relevant countries and regions, have taken necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation portals for users to choose to authorize or refuse.
[0082] Furthermore, the technical solution involved in this application, which involves big data analysis of user information (including but not limited to personal biometrics, identity data, consumption data, asset data, electronic terminal operation data, etc.) and the use of artificial intelligence technology for automated decision-making, and makes decisions that have a significant impact on personal rights based on the results of automated decision-making, provides users with corresponding operation entry points for users to choose to agree to or reject the results of automated decision-making; if the user chooses to reject, the process will proceed to the expert decision-making process.
[0083] It should be noted that the authentication method, apparatus, device, and storage medium based on zero-knowledge proof of this application can be used in the field of information security technology, or in any field other than information security technology. The application field of the authentication method, apparatus, device, and storage medium based on zero-knowledge proof of this application is not limited.
[0084] With the development of technology and the arrival of the information and network era, identity authentication has become crucial. Identity authentication is required in various fields, including communications, finance, and social networking. It not only ensures network security but also effectively protects personal privacy and asset security.
[0085] In existing technologies, users need to archive the target information involved in identity authentication into the business system. The business system generates a user's private key and a business system public key based on the target information. The user's private key can be used to verify that the target information is indeed user information, while the business system's public key is used to encrypt business data. The private key is the only way for the user to verify the target information, and by setting a key, user information can be protected from being stolen by other users conducting business.
[0086] However, this method requires providing information to the business system for verification, and the staff of the business system will know the target information, which still poses a problem of insufficient user information security.
[0087] To address the aforementioned issues, this application provides a zero-knowledge proof-based authentication method. This method converts a user's biometric information into multiple feature values, fuses these feature values to generate the user's private key, and uses zero-knowledge proofs to set key permissions and verify the biometric owner's identity. This improves the security of the user's biometric information during the authentication process.
[0088] The following is combined with Figure 1 The application scenarios of this application will be explained.
[0089] Figure 1 This is a schematic diagram illustrating an application scenario for identity verification based on zero-knowledge proofs, as provided in an embodiment of this application. For example... Figure 1 As shown, it includes: authentication system 1 and user 2.
[0090] User 2 sends their biometric information to authentication system 1, which generates a private key based on the biometric information. Authentication system 1 contains a second public key corresponding to the private key generated by the biometric holder based on the biometric information. After user 2 sends their private key to authentication system 1, authentication system 1 generates a proof value for user 2's private key and a verification value based on the second public key. The biometric holder is authenticated by comparing the proof value and the verification value.
[0091] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0092] Figure 2 The flowchart of the zero-knowledge proof-based authentication method provided in the embodiments of this application Figure 1 .like Figure 2 As shown, this method is applied to an authentication system. The zero-knowledge proof-based authentication method illustrated in this embodiment includes:
[0093] S201: Obtain the user's biometric information, which includes: fingerprint image, face video, and audio file.
[0094] Biometric information, also known as biometric identification information or biometric information, refers to personal data that can uniquely identify a user through specific technical processing related to the user's physical, physiological, or behavioral characteristics. This information includes, but is not limited to, facial images, fingerprints, voiceprints, palm prints, or eye scans (such as retinal or iris scans).
[0095] A camera captures images or videos of a person's face, and then computer vision and image processing techniques are used to extract facial features, such as facial contours, the shape of the eyes, nose, and mouth. These features are used for information such as identity verification.
[0096] A fingerprint image is an image of a user's fingerprint obtained through fingerprint recognition technology. A fingerprint is a unique pattern on the surface of a user's skin; each person's fingerprint pattern is unique and can be used for identification and verification. Fingerprint images are typically captured by fingerprint sensors, and by processing and comparing these images, user identity can be confirmed.
[0097] Facial video refers to real-time video images of a user's face captured by video capture devices (such as cameras). Facial videos typically include various facial features and expressions, and can be used for applications such as facial recognition, emotion recognition, and liveness detection.
[0098] An audio file is a digital file that stores sound information, typically in a digital audio format. Audio files can contain various types of sound, including music, speech, and ambient sounds. Common audio file formats include MP3, WAV, AAC, and FLAC.
[0099] The purpose of obtaining a user's biometric information is to generate a private key from that information. Only the user, holding the private key, can complete identity verification by using the private key without revealing their biometrics. Even if the user loses their private key, other users who obtain it will not be able to use it and will fail to authenticate.
[0100] S202: Perform feature processing on the fingerprint image, the face video, and the audio file to obtain the user's biometric joint feature data, and generate the user's private key based on the biometric joint feature data.
[0101] Biometric joint feature data refers to comprehensive data generated by fusing multiple biometric features (such as fingerprints, faces, and voices). This data not only contains information about each individual biometric feature, but also fuses and encodes these features through specific algorithms and technologies to form a unique and highly discriminative biometric representation.
[0102] The first step is to extract features from fingerprint images, facial videos, and audio files—that is, to extract representative feature information from these biometric data. The feature extraction process may involve techniques such as image processing, video processing, and audio processing to extract unique features from fingerprints, faces, and voices. These features may include fingerprint ridges, facial contours and feature points, and the frequency spectrum and voiceprint of the voice.
[0103] Next, the feature information extracted from different biometric data is integrated and fused to obtain combined biometric feature data. This process can utilize technologies such as data fusion, feature fusion, and pattern recognition to combine and synthesize the feature information from different biometric data. The resulting combined biometric feature data can contain information from multiple biometric features, such as fingerprints, faces, and voices. The comprehensive use of this information can improve the security and accuracy of biometric identification systems.
[0104] Finally, the biometric data of the biometric owner is collected and entered, such as fingerprints, iris scans, and facial recognition data. The collected biometric data is processed, extracting key feature points and converting them into digital feature vectors. Cryptographic techniques are used to encrypt the biometric vectors, generating a corresponding private key. This private key is typically associated with the biometric data and is used for subsequent authentication and encrypted communication. The generated private key needs to be securely stored and managed to ensure that only the biometric owner can access and use it. When authentication or encrypted communication is required, the system acquires the biometric data through the biometric acquisition device and compares it with the stored biometric data. If the verification is successful, the corresponding private key is used for authentication or encrypted communication.
[0105] S203: Based on the private key and zero-knowledge proof, generate the user's key proof and perform biometric owner authentication.
[0106] In this context, the biometric owner refers to the individual or entity that has the authority to possess and control specific biometric information.
[0107] Zero-knowledge proofs are used to prove that a private key is correct without revealing any biometric information associated with that key. In a zero-knowledge proof, the biometric owner can prove to the authentication system that the private key contains their biometrics and that the person holding the private key is the biometric owner, without needing to disclose their biometric information.
[0108] Understandably, the biometric owner generates a private key and binds it to their biometric information. Using a zero-knowledge proof protocol, the biometric owner can prove the correctness of their private key without revealing their biometric information. The authentication system receives the zero-knowledge proof protocol and verifies its validity. If the zero-knowledge proof is valid, the system can confirm the correctness of the private key and recognize the biometric owner as a legitimate identity. The biometric owner can then use the private key for authentication without disclosing their biometric information.
[0109] In this embodiment, by acquiring the user's biometric information, including fingerprint images, facial videos, and audio files, feature processing is performed on the fingerprint images, facial videos, and audio files to obtain the user's combined biometric feature data. Based on the combined biometric feature data, a private key held by the user is generated. Based on the private key and zero-knowledge proof, a key proof for the user is generated, and biometric owner authentication is performed. This method improves the security of the user's biometric information during the authentication process and avoids the security risk of misuse after the private key is leaked.
[0110] Figure 3 The flowchart of the zero-knowledge proof-based authentication method provided in the embodiments of this application Figure 2 .like Figure 3 As shown, this embodiment is... Figure 2 Based on the embodiments, the authentication method based on zero-knowledge proof is described in detail. The authentication method based on zero-knowledge proof shown in this embodiment includes:
[0111] S301: Obtain the user's biometric information, which includes: fingerprint image, face video, and audio file.
[0112] Step S310 is similar to step S201, and will not be described again here.
[0113] S302: Extract image features from the fingerprint image to obtain fingerprint ridges and fingerprint ridges, and generate a fingerprint feature vector based on the fingerprint ridges and fingerprint ridges.
[0114] Fingerprint ridges are characteristic lines that appear in a fingerprint image. They are usually raised lines in the fingerprint pattern, similar to the veins of a fingerprint. Fingerprint ridges are one of the main features of a fingerprint image, possessing uniqueness and stability, and can be used for fingerprint identification and verification.
[0115] Fingerprint ridges are another type of characteristic line appearing in a fingerprint image; they are typically fine lines or patterns within the fingerprint pattern. Fingerprint ridges intertwine with fingerprint lines to form the distinctive structure of a fingerprint. The shape, length, and spacing of fingerprint ridges are also unique and can be used for fingerprint identification and verification.
[0116] A fingerprint feature vector is a vector that mathematically represents the key features extracted from a fingerprint image. In a fingerprint recognition system, after the fingerprint image is processed by a feature extraction algorithm, a set of numerical feature vectors is obtained.
[0117] First, the fingerprint image is processed to extract fingerprint ridges and fingerprint lines. Fingerprint ridges refer to the main lines in the fingerprint image, while fingerprint lines are branches or secondary lines of the fingerprint ridges. Next, based on the extracted fingerprint ridges and fingerprint lines, a fingerprint feature vector can be generated. This process includes feature description and encoding of the fingerprint ridges and fingerprint lines, converting them into numerical feature vectors.
[0118] S303: Perform liveness analysis and spoofing analysis on the face video to obtain human heart rate and face texture, and generate a face feature vector based on the human heart rate and face texture.
[0119] Among them, liveness detection is a biometric technology used to determine whether the object being detected during biometric data collection is a real living person rather than a static photograph, video, or other simulated object.
[0120] Spoofing analysis is used to detect and identify faces in videos to distinguish real faces from still photos, videos, or other fake objects.
[0121] Human heart rate refers to the number of times the heart beats per minute, and is the result of liveness analysis. Facial texture refers to the skin texture and features on the surface of the face, including details such as wrinkles, blemishes, hair, and pores. Each person's facial texture is unique, like a fingerprint, and can be used for individual identification and authentication.
[0122] Understandably, deep learning techniques, such as convolutional neural networks (CNNs) or recurrent neural networks (RNNs), are used to analyze facial videos in real time to detect liveness features such as micro-expressions, blink frequency, and head movements. Facial recognition technology is then used to compare real-time video with stored facial images to detect impersonation, such as masks or photographs. Combining sensor technologies, such as infrared sensors or cameras, allows for the acquisition of more biometric data, such as temperature and blood oxygen levels, to further confirm liveness.
[0123] Image processing techniques, such as feature point detection and texture analysis, are used to extract facial texture information, such as wrinkles and blemishes, from facial videos. Based on video signal processing techniques, heart rate data is obtained by detecting changes in facial micro-expressions or the frequency of pulse signals. The extracted heart rate and facial texture data are combined to construct feature vectors or feature descriptors to represent the unique characteristics of an individual. Machine learning algorithms, such as Support Vector Machines (SVM) and neural networks, can be used to train and classify the extracted feature data to generate facial feature data.
[0124] S304: Extract features from the audio file to obtain frequency domain features and spectral features, and generate an audio feature vector based on the frequency domain features and the spectral features.
[0125] Frequency domain features describe the characteristics or properties of a sound signal in the frequency domain. Frequency domain analysis of a sound file can reveal the energy distribution and frequency components of the sound signal at different frequencies, thereby extracting the frequency domain features of the sound.
[0126] Spectral characteristics describe the features or properties of a sound signal in the frequency domain. Spectral characteristics typically include information such as the energy distribution, frequency components, and spectral shape of the sound signal at different frequencies.
[0127] There are differences in the frequency domain characteristics of each person's voice, and there are also differences in the spectral characteristics of their voices.
[0128] Sound feature vectors are mathematical representations used to describe the characteristics or attributes of sound signals within a specific domain. In sound signal processing and analysis, sound feature vectors are commonly used to represent various features of sound signals, such as spectral features, temporal features, and acoustic features. Sound feature vectors can be obtained through signal processing and feature extraction of sound signals and are used in applications such as sound recognition, speech analysis, and audio classification.
[0129] Understandably, preprocessing audio files, including noise removal and normalization, is necessary to ensure signal quality and stability. Signal processing techniques are used to extract frequency and spectral features from the audio signal. Common feature extraction methods include Short-Time Fourier Transform (STFT), Mel-frequency cepstral coefficients (MFCC), and Power Spectral Density (PSD). Frequency domain features, such as frequency components, spectral shape, and spectral energy, are extracted from the audio file through Fourier transform or other frequency domain analysis methods. Based on these frequency domain features, spectral features, such as Mel-frequency cepstral coefficients (MFCC), spectral smoothness, and spectral envelope, are further extracted. The extracted frequency and spectral features are then combined to form a sound feature vector. Different features can be combined according to certain rules to form a complete sound feature vector.
[0130] S305: Determine the user's combined biometric features based on the fingerprint feature vector, facial feature vector, and voice feature vector.
[0131] This process involves fusing fingerprint, facial, and voice feature vectors using methods such as weighted averaging, feature-level fusion, and decision-level fusion. The fused feature vector is then called the combined biometric feature. This combined biometric feature is matched against a stored biometric database to determine the identity of the biometric owner. Matching can employ techniques such as similarity comparison and pattern recognition algorithms. Based on the matching results, the identity of the biometric owner is verified. If the match between the combined biometric feature and a biometric in the database exceeds a set threshold, the verification is successful. By comprehensively utilizing multiple biometric features such as fingerprints, faces, and voices, combined biometric features can improve the accuracy and security of biometric systems, preventing impersonation or attacks using a single biometric feature.
[0132] Optionally, fingerprint feature weights, facial feature weights, and voice feature weights are obtained; based on the fingerprint feature weights, facial feature weights, and voice feature weights, feature fusion processing is performed on the fingerprint feature vector, the facial feature vector, and the voice feature vector to determine the biometric joint features of the biometric owner.
[0133] S306: Determine the biometric hash value based on the biometric joint feature and hash function, and use the biometric hash value as the private key held by the user.
[0134] Hash functions convert biometric data into fixed-length hash values, ensuring the determinism of the generated private key. That is, the same input data processed by the same hash function will generate the same private key, guaranteeing its uniqueness and reproducibility. The irreversibility of hash functions protects the privacy of input data. During private key generation, biometric data is processed by a hash function to generate a hash value, and the original biometric data cannot be deduced from the hash value, thus protecting user privacy. Generating private keys using hash functions increases security. Hash functions typically have collision-resistant properties, meaning the probability of different input data generating the same hash value is extremely low. This prevents attackers from cracking the private key by analyzing the generation process. During private key generation, hash functions can be used to verify the integrity of biometric data. The stored hash value can be used for subsequent verification of whether biometric data has been tampered with or forged, ensuring data integrity and reliability. Common hash functions include SHA-256 and MD5.
[0135] Using biometric hash values as private keys protects the privacy of biometric data because the original biometric data cannot be derived from the hash value. Biometric hash values also enhance security. Hash functions are typically collision-resistant, meaning the probability of different biometric data generating the same hash value is extremely low, thus reducing the possibility of the private key being compromised. Each biometric hash value is unique and can serve as a unique identifier for the private key. This ensures that each biometric owner holds a unique private key, increasing its security and reliability. Biometric hash values can also be used to verify the integrity of biometric data. The private key holder can recalculate the hash value of the biometric data and compare it with the stored hash value to verify whether the biometric data has been tampered with or forged. In conclusion, using biometric hash values as private keys effectively protects privacy, increases security, ensures uniqueness, and verifies data integrity, making it a secure and reliable method of private key management.
[0136] S307: Generate the proof value based on the private key and the zero-knowledge proof, and determine whether the proof value can be verified by the verification value.
[0137] The proof value is used to instruct the biometric owner to generate a proof value after sending the private key, which is used to prove that the private key is held by the biometric owner.
[0138] The verification value is used to indicate the value obtained by combining the encrypted public key stored by the biometric owner with the private key sent by the biometric owner.
[0139] The principle of zero-knowledge proof is to obtain a proof value by numerically processing the private key. When the proof value is verified, the user's identity as the biometric owner is trusted, indicating that the user who holds and has the right to use the device is the biometric owner. When the proof value is verified, the user's identity as the biometric owner is incorrect, indicating that the user who holds and has the right to use the device is not the biometric owner.
[0140] S308: If the verification of the proof value passes, then the user's identity as the owner of the biometric feature is credible.
[0141] If the verification value passes, the user's identity as the biometric owner is considered credible. The verification value is typically generated from the biometric information provided by the user, while the validation value is calculated by the system or device based on the biometric owner's information. If these two values are equal, it means that the biometric information provided by the user matches the biometric information calculated by the system or device, thus confirming the identity of the biometric owner. This method is commonly used in biometric technology and authentication systems to ensure the accuracy and security of authentication.
[0142] S309: If the verification of the proven numerical value fails, then the user's identity as the owner of the biometric feature is incorrect.
[0143] If the verification of the proof value fails, the user's identity as the owner of the biometric data is incorrect. In this case, the proof value and the verification value do not match, meaning that the biometric information provided by the user is inconsistent with the biometric information calculated by the system or device, thus leading to authentication failure. In biometric technology and authentication systems, the verification value is typically used to compare with the proof value provided by the user to confirm the authenticity of the identity. When the two do not match, the system usually rejects authentication to ensure security and accuracy.
[0144] In this embodiment, by acquiring the user's biometric information, including fingerprint images, facial videos, and audio files, image feature extraction is performed on the fingerprint image to obtain fingerprint ridges and fingerprint lines, and a fingerprint feature vector is generated based on the fingerprint ridges and fingerprint lines. Liveness analysis and spoofing analysis are performed on the facial video to obtain human heart rate and facial texture, and a facial feature vector is generated based on the human heart rate and facial texture. Feature extraction is performed on the audio file to obtain frequency domain features and spectral features, and an audio feature vector is generated based on the frequency domain features and the spectral features. Finally, based on the fingerprint feature vector and facial feature vector... The method uses vector and voice feature vector to determine the user's biometric joint feature. Based on the biometric joint feature and a hash function, a biometric hash value is determined. The biometric hash value is used as the user's private key. Based on the private key and the zero-knowledge proof, a proof value is generated, and it is determined whether the proof value can be verified. If the proof value is verified, the user's identity as the biometric owner is trustworthy; if the proof value is not verified, the user's identity as the biometric owner is incorrect. This method improves the security of user biometric information during the identity verification process and avoids the security risk of misuse after private key leakage.
[0145] The following is combined with Figure 4 The specific implementation method for biometric owner authentication in this application is illustrated with specific embodiments.
[0146] Figure 4 The flowchart of the zero-knowledge proof-based authentication method provided in the embodiments of this application Figure 3 .like Figure 4 As shown, the method includes:
[0147] S401: Obtain the random number and elliptic curve base point sent by the user.
[0148] A random number is typically a randomly generated value used in various algorithms for encryption and secure communication. For example, a random number can be r.
[0149] An elliptic curve base point is a specific point used in elliptic curve cryptography to perform encryption and digital signature operations. For example, an elliptic curve base point can be G.
[0150] S402: Determine the first public key corresponding to the private key held by the user based on the private key and the elliptic curve base point.
[0151] Assuming the random number is r, the base point of the elliptic curve is G, and the user's private key is sk = a, then the first public key is: PK1 = a * G.
[0152] S403: Multiply the random number and the base point of the elliptic curve to obtain the x-coordinate value of the elliptic curve.
[0153] Assuming the random number is r and the base point of the elliptic curve is G, then the x-coordinate value of the elliptic curve is R = r * G.
[0154] S404: Calculate the first hash value based on the first public key and the x-coordinate value of the elliptic curve using a hash function.
[0155] Assuming the first public key is PK1 = a * G and the x-coordinate of the elliptic curve is R = r * G, then the first hash value is c1 = Hash(PK1, R).
[0156] S405: Perform calculations on the random number, the first hash value, and the private key to determine the elliptic curve ordinate value.
[0157] Assuming the random number is r, the first hash value is c1 = Hash(PK1, R), and the user's private key is sk = a, then the ordinate of the elliptic curve is z = r + c1 * sk.
[0158] S406: Determine the user's proof value based on the ordinate value of the elliptic curve and the base point of the elliptic curve.
[0159] Assuming the base point of the elliptic curve is G, and the ordinate of the elliptic curve is z = r + c1 - sk, then prove that the value is zG.
[0160] S407: Obtain the second public key and determine the second hash value based on the second public key.
[0161] The second public key is used to indicate the encrypted public key corresponding to the private key held by the biometric owner based on the biometric information. For example, the second public key is PK2.
[0162] If the second public key is PK2, then the second hash value is c2 = Hash(PK1, R).
[0163] S408: Determine the verification value of the biometric owner based on the elliptic curve abscissa value, the second hash value, and the second public key.
[0164] This process requires receiving the elliptic curve coordinates sent by the user and determining the verification value of the biometric owner based on the elliptic curve abscissa value, the second hash value, and the second public key.
[0165] Assuming the x-coordinate of the elliptic curve is R = r * G, the second hash value is c2 = Hash(PK1, R), and the second public key is PK2, then the verification value is R + (c2 * PK2).
[0166] S409: Determine whether the proven numerical value can be verified and passes the numerical verification.
[0167] Suppose the proof value is z*G and the verification value is R+(c2*PK2). When the proof value is verified by the verification value, it means that the biometric information provided by the user is consistent with the biometric information of the identity verification system, thus confirming the identity of the biometric owner. When the proof value is verified by the verification value, the biometric information provided by the user is inconsistent with the biometric information of the identity verification system, thus causing the identity verification to fail.
[0168] In this embodiment, by obtaining a random number and an elliptic curve base point sent by the user, and determining the first public key corresponding to the user's private key based on the private key and the elliptic curve base point, the random number and the elliptic curve base point are multiplied to obtain the elliptic curve abscissa value. A hash function is then used to calculate the first hash value based on the first public key and the elliptic curve abscissa value. The random number, the first hash value, and the private key are then processed to determine the elliptic curve ordinate value. Based on the elliptic curve ordinate value and the elliptic curve base point, the user's proof value is determined. A second public key is obtained, and a second hash value is determined based on the second public key. Finally, based on the elliptic curve abscissa value, the second hash value, and the second public key, the verification value of the biometric owner is determined, and it is determined whether the proof value can be verified. This method improves the security of user biometric information during identity verification and avoids the security risk of misuse after private key leakage.
[0169] Figure 5 This is a schematic diagram of the structure of an identity verification device based on zero-knowledge proof provided in an embodiment of this application. Figure 5 As shown, the zero-knowledge proof-based identity verification device 500 provided in this embodiment includes:
[0170] The acquisition module 501 is used to acquire the user's biometric information, which includes: fingerprint image, face video, and audio file;
[0171] Processing module 502 is used to perform feature processing on the fingerprint image, the face video, and the sound file to obtain the user's biometric joint feature data;
[0172] The generation module 503 is used to generate the private key held by the user based on the biometric joint feature data;
[0173] The processing module 502 is further configured to generate the user's key proof based on the private key and zero-knowledge proof, and perform biometric owner authentication.
[0174] Optionally, the zero-knowledge proof-based authentication device further includes: a determination module 504;
[0175] The processing module 502 is further configured to extract image features from the fingerprint image to obtain fingerprint ridges and fingerprint ridges, and generate a fingerprint feature vector based on the fingerprint ridges and fingerprint ridges.
[0176] The processing module 502 is further configured to perform liveness analysis and spoofing analysis on the face video, obtain human heart rate and face texture, and generate a face feature vector based on the human heart rate and face texture.
[0177] The processing module 502 is further configured to extract features from the audio file to obtain frequency domain features and spectral features, and generate an audio feature vector based on the frequency domain features and the spectral features;
[0178] The determining module 504 is used to determine the biometric joint characteristics of the biometric owner based on the fingerprint feature vector, the face feature vector, and the voice feature vector.
[0179] Optionally, the acquisition module 501 is used to acquire fingerprint feature weights, face feature weights, and voice feature weights;
[0180] The processing module 502 is used to perform feature fusion processing on the fingerprint feature vector, the face feature vector, and the voice feature vector according to the fingerprint feature weight, the face feature weight, and the voice feature weight, to determine the biometric joint features of the biometric owner.
[0181] Optionally, the determining module 504 is further configured to determine a biometric hash value based on the biometric joint feature data and the hash function, and use the biometric hash value as the private key held by the user.
[0182] Optionally, the determining module 504 is further configured to generate the proof value based on the private key and the zero-knowledge proof, and determine whether the proof value can be verified by the verification value.
[0183] The processing module 502 is further configured to, if the verification of the proof value passes, then the identity of the user as the owner of the biometric feature is credible;
[0184] The processing module 502 is further configured to determine that if the verification of the proof value fails, the user's identity as the owner of the biometric feature is incorrect.
[0185] Optionally, the acquisition module 501 is further configured to acquire the random number and elliptic curve base point sent by the user;
[0186] The determining module 504 is further configured to determine the user's proof value based on the private key, the random number, and the elliptic curve base point;
[0187] The determining module 504 is further configured to obtain a second public key and determine the verification value of the biometric owner based on the second public key, wherein the second public key is used to indicate that the biometric owner holds the encrypted public key corresponding to the private key;
[0188] The determining module 504 is also used to determine whether the proven value can be verified by the value verification.
[0189] Optionally, the determining module 504 is further configured to determine the first public key corresponding to the private key held by the user based on the private key and the elliptic curve base point;
[0190] The processing module 502 is further configured to perform product processing on the random number and the base point of the elliptic curve to obtain the x-coordinate value of the elliptic curve;
[0191] The determining module 504 is further configured to calculate the first hash value based on the hash function for the first public key and the horizontal coordinate value of the elliptic curve;
[0192] The processing module 502 is further configured to perform calculations on the random number, the first hash value, and the private key to determine the elliptic curve ordinate value;
[0193] The determining module 504 is further configured to determine the user's proof value based on the elliptic curve ordinate value and the elliptic curve base point.
[0194] Optionally, the determining module 504 is further configured to obtain the second public key and determine the second hash value based on the second public key;
[0195] The determining module 504 is further configured to determine the verification value of the biometric owner based on the elliptic curve abscissa value, the second hash value, and the second public key.
[0196] Figure 6 This is a schematic diagram of the structure of an authentication device based on zero-knowledge proof provided in an embodiment of this application. Figure 6 As shown, this application provides an authentication device based on zero-knowledge proof. The authentication device 600 based on zero-knowledge proof includes: a receiver 601, a transmitter 602, a processor 603, and a memory 604.
[0197] Receiver 601 is used to receive instructions and data;
[0198] Transmitter 602 is used to send commands and data;
[0199] Memory 604 is used to store instructions executed by the computer;
[0200] The processor 603 is configured to execute computer execution instructions stored in the memory 504 to implement the various steps of the zero-knowledge proof-based authentication method in the above embodiments. For details, please refer to the relevant descriptions in the foregoing embodiments of the zero-knowledge proof-based authentication method.
[0201] Alternatively, the memory 604 can be either standalone or integrated with the processor 603.
[0202] When the memory 604 is set up independently, the electronic device also includes a bus for connecting the memory 604 and the processor 603.
[0203] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.
[0204] It should be further noted that although the steps in the flowchart are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowchart may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0205] It should be understood that the above-described device embodiments are merely illustrative, and the device of this application can also be implemented in other ways. For example, the division of units / modules in the above embodiments is only a logical functional division, and there may be other division methods in actual implementation. For example, multiple units, modules, or components may be combined, or integrated into another system, or some features may be ignored or not executed.
[0206] Furthermore, unless otherwise specified, the functional units / modules in the various embodiments of this application can be integrated into one unit / module, or each unit / module can exist physically separately, or two or more units / modules can be integrated together. The integrated units / modules described above can be implemented in hardware or as software program modules.
[0207] When integrated units / modules are implemented in hardware, the hardware can be digital circuits, analog circuits, etc. The physical implementation of the hardware structure includes, but is not limited to, transistors, memristors, etc. Unless otherwise specified, the processor can be any suitable hardware processor, such as a CPU, GPU, FPGA, DSP, and ASIC, etc. Unless otherwise specified, the storage unit can be any suitable magnetic or magneto-optical storage medium, such as Resistive Random Access Memory (RRAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Enhanced Dynamic Random Access Memory (EDRAM), High-Bandwidth Memory (HBM), Hybrid Memory Cube (HMC), etc.
[0208] If an integrated unit / module is implemented as a software program module and sold or used as an independent computer program product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a computer program product. This computer program product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0209] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as these combinations of technical features do not contradict each other, they should be considered within the scope of this specification.
[0210] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.
[0211] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. An authentication method based on zero-knowledge proof, characterized in that, The method includes: The user's biometric information is obtained, including fingerprint images, facial videos, and audio files. The fingerprint image, the face video, and the audio file are processed to obtain the user's biometric joint feature data. Based on the biometric joint feature data and a hash function, a biometric hash value is determined, and the biometric hash value is used as the private key held by the user. Obtain the random number and elliptic curve base point sent by the user; Based on the private key and the elliptic curve base point, determine the first public key corresponding to the private key held by the user; The random number and the base point of the elliptic curve are multiplied to obtain the x-coordinate value of the elliptic curve; The first hash value is determined by calculating the first public key and the x-coordinate value of the elliptic curve using the hash function. The random number, the first hash value, and the private key are processed to determine the ordinate value of the elliptic curve; The user's key proof is determined based on the ordinate value of the elliptic curve and the base point of the elliptic curve, and the key proof includes a proof value; Obtain the second public key, and determine the second hash value based on the second public key; Based on the elliptic curve abscissa value, the second hash value, and the second public key, the verification value of the biometric owner is determined, and biometric owner authentication is performed. The second public key is used to indicate that the biometric owner holds the encrypted public key corresponding to the private key.
2. The method according to claim 1, characterized in that, The step of performing feature processing on the fingerprint image, the facial video, and the audio file to obtain the user's combined biometric feature data includes: Image features are extracted from the fingerprint image to obtain fingerprint ridges and fingerprint ridges, and a fingerprint feature vector is generated based on the fingerprint ridges and fingerprint ridges. Liveness analysis and spoofing analysis are performed on the face video to obtain human heart rate and face texture, and a face feature vector is generated based on the human heart rate and face texture; The audio file is subjected to feature extraction to obtain frequency domain features and spectral features, and an audio feature vector is generated based on the frequency domain features and the spectral features; Based on the fingerprint feature vector, facial feature vector, and voice feature vector, the biometric joint characteristics of the biometric owner are determined.
3. The method according to claim 2, characterized in that, The step of determining the combined biometric features of the biometric owner based on the fingerprint feature vector, facial feature vector, and voice feature vector includes: Obtain fingerprint feature weights, facial feature weights, and voice feature weights; Based on the fingerprint feature weights, the facial feature weights, and the voice feature weights, feature fusion processing is performed on the fingerprint feature vector, the facial feature vector, and the voice feature vector to determine the biometric joint features of the biometric owner.
4. The method according to claim 3, characterized in that, The biometric owner authentication process includes: Determine whether the proof value can be verified by the verification value; If the verification of the proven numerical value passes, then the user's identity as the owner of the biometric data is credible. If the verification of the stated numerical value fails, then the user's identity as the owner of the biometric data is incorrect.
5. An authentication device based on zero-knowledge proof, characterized in that, include: The acquisition module is used to acquire the user's biometric information, which includes: fingerprint images, facial videos, and audio files; The determination module is used to perform feature processing on the fingerprint image, the face video, and the sound file to obtain the user's biometric joint feature data, and determine the biometric hash value based on the biometric joint feature data and a hash function, and use the biometric hash value as the private key held by the user; The acquisition module is also used to acquire the random number and elliptic curve base point sent by the user; The determining module is further configured to determine the first public key corresponding to the private key held by the user based on the private key and the elliptic curve base point; The processing module is used to multiply the random number and the base point of the elliptic curve to obtain the x-coordinate value of the elliptic curve; The determining module is further configured to calculate the first hash value based on the hash function for the first public key and the x-coordinate value of the elliptic curve; The determining module is further configured to perform calculations on the random number, the first hash value, and the private key to determine the elliptic curve ordinate value; The determining module is further configured to determine the user's key proof based on the elliptic curve ordinate value and the elliptic curve base point, wherein the key proof includes a proof value; The determining module is further configured to obtain a second public key and determine a second hash value based on the second public key; The processing module is further configured to determine the verification value of the biometric owner based on the elliptic curve abscissa value, the second hash value, and the second public key, and to perform biometric owner authentication. The second public key is used to indicate that the biometric owner holds the encrypted public key corresponding to the private key.
6. An authentication device based on zero-knowledge proof, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1 to 4.
8. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1-4.
Citation Information
Patent Citations
User identity security inspection method and device based on zero-knowledge proof
CN117034232A
Zero-knowledge identity authentication method and device based on block chain and biological characteristics
CN117254912A