Biometric Authentication and Key Negotiation Method Based on Fuzzy Extractor
By combining fuzzy logic extractor and blockchain technology with elliptic curve cryptography and timestamps, user identity IDs are dynamically generated, solving the security and privacy issues of biometric authentication and enabling secure identity authentication and key negotiation processes.
Patent Information
- Application Number
- CN202211628166.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-16
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2042-12-16
AI Technical Summary
In wireless body area networks, existing biometric authentication schemes suffer from insecurity and vulnerability to attack due to the direct transmission of biometric templates over open networks. Furthermore, users do not wish to store biometric data on servers, and existing schemes are susceptible to external interference and lack sufficient security.
The system employs fuzzy extractor technology to extract biometric information, generates random strings, and stores them on the blockchain. It combines elliptic curve cryptography and timestamps for identity authentication and key negotiation, dynamically generates user identity IDs, uses symmetric encryption to ensure security, and records publicly available biometric information on the blockchain.
It achieves dynamic protection of user identity information, prevents leakage and tracking, ensures the security of the authentication process, ensures accurate key negotiation, avoids replay attacks, and realizes full lifecycle recording and monitoring of biometric templates.
Smart Images

Figure CN116015641B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a biometric authentication and key negotiation method based on a fuzzy extractor. Background Technology
[0002] With the development of microelectronics and mobile communication technologies, sensors with information sensing and processing capabilities are finding increasingly wider applications. Wireless network technology is developing rapidly amidst the information revolution, giving rise to the Internet of Things (IoT) based on wireless sensors. Wireless Body Area Networks (WBNs) are a key application of IoT in the field of smart healthcare. As a crucial research area in information security, authentication and key agreement protocols enable secure shared session keys between communicating parties and have been widely applied in various practical scenarios, such as social communication and smart healthcare. The data transmitted in WBNs contains important user information; therefore, security and privacy during data transmission over insecure channels are critical issues that need to be addressed. Before data exchange, sensors and service nodes need to establish a session, perform mutual authentication to ensure the other party's legitimacy, and then generate a session key to encrypt the transmitted data.
[0003] Password-based authentication and key negotiation schemes are widely used due to their ease of memorization and management. However, while passwords are easy to remember, their low entropy makes them vulnerable to dictionary attacks. Biometrics, on the other hand, possess uniqueness and stability that remains largely unchanged over time. Using biometrics for authentication is simple, fast, and easy to use, thus biometric recognition has been widely applied in the field of identity authentication. Because biometric templates are unique and private, directly transmitting them over open networks is insecure. Therefore, extracting the same secret value from two nearly identical biometric features as a factor for remote biometric comparison and matching is crucial for implementing biometric recognition in distributed open networks.
[0004] There are two unresolved issues when using biometrics for identity authentication. Firstly, regarding technical availability, external interference with biometric data means that two separate extractions of a person's biometric features may not yield completely identical information. This prevents servers from performing consistent biometric comparisons like password authentication, limiting it to a supplementary method. Secondly, even if the biometric comparison problem is solved, users are unwilling to store their biometric data on servers. This is because biometric information carries cybersecurity risks of leakage and tampering during transmission and storage. If a server is compromised, all users' biometric data could be stolen, posing a significant security threat.
[0005] In 2004, Dodis et al. proposed the concept of fuzzy extraction technology, which effectively solved the two problems mentioned above. Fuzzy extraction technology involves two concepts: 1) Fuzzy Extractor: Extracts a uniformly distributed random string R from the input biometric signal. 2) Secure Sketch: Extracts public information P from the input biometric information B. When B is input again... ′ When it is very close to B, it can be determined by P and B. ′ Restore B.
[0006] In fuzzy extraction technology, when a biometric feature B is input, the fuzzy extraction technology can output a random string R in a fault-tolerant manner. ′ When the value is not significantly different from B, the random string B output by the fuzzy extractor remains unchanged. The server only needs to store the random character R, and does not need to store the user's biometric features. (Input biometric feature B) ′ In the process of recovering B, it is generally necessary to input auxiliary public information P. The fuzz extractor consists of the following two algorithms.
[0007] 1) The random number generation algorithm Gen(B) → {R, P} takes biological information B as input and outputs a random string R and auxiliary public information P, where the length of R is l and l is a security parameter;
[0008] 2) Random number recovery algorithm Rep(B ′ ,P)→{R},Input biological information B ′ And auxiliary public information P, output random character R, if dis(B, B ′ If )≤t, where t is the size of the given interval, then output R.
[0009] In 2017, Xie et al. proposed a novel anonymous two-factor authentication key protocol based on dynamic IDs, which addressed issues such as lost smart card attacks, desynchronization attacks, forward secrecy, and user anonymity or untraceability. However, Xie et al.'s scheme relied solely on timestamps, making it vulnerable to clock synchronization problems and physical and cloning attacks. In 2018, Li et al. pointed out that even with formal security analysis, Xie et al.'s scheme was susceptible to offline dictionary attacks. Mahmood et al. designed a lightweight authentication scheme based on elliptic curve cryptography for smart grids, but it proved vulnerable to various known attacks, such as impersonation and insider attacks. Zhou et al. proposed a user-centric biometric authentication scheme that allows end-users to lightweightly encrypt their biometric templates without revealing key information. Data security and privacy are ensured by searching the encrypted data using Hamming and Euclidean distances. However, in 2022, Hee et al. demonstrated that Zhou et al.'s scheme was vulnerable to malicious users in a more inclusive attack model. Summary of the Invention
[0010] To address the aforementioned technical problems, this invention provides a simple and highly secure biometric authentication and key negotiation method based on a fuzzy extractor.
[0011] The technical solution of this invention to solve the above-mentioned technical problems is: a biometric authentication and key negotiation method based on a fuzzy extractor, comprising the following steps:
[0012] (1) Initialization: The server's preparatory work before the user registers their identity, including the selection of the hash function, the definition of the cyclic group and the calculation of the public and private key pair;
[0013] (2) User registration: Users extract biometric information through a fuzzy extractor, combine it with a password to generate a registration request and send it to the server. Legitimate users will receive a dynamic identity ID returned by the server.
[0014] (3) Identity authentication and key negotiation: Registered legitimate users perform two-way identity authentication with the server and negotiate session keys;
[0015] (4) Password update is for registered legitimate users. When a user needs to update their password, they send a request to the server to update the password.
[0016] In the above-mentioned biometric authentication and key negotiation method based on fuzzy extractor, step (1) involves initialization, which means that the server defines a q-order cyclic group G and an elliptic curve E(F) with base point P. p A safe and collision-resistant one-way hash function H:{0,1}* →{0,1} l A private key s∈Z is randomly selected based on the elliptic curve cryptography algorithm. q * And calculate its public key P0 = sP, where Z q * It is a multiplication cyclic group.
[0017] The above-mentioned biometric authentication and key negotiation method based on fuzzy extractor, the specific process of user registration in step (2) is as follows:
[0018] 2-1)U→S:{ID U PW U B U User U sends their identity information (ID) through a secure channel. U Password information PW U And bioinformatics B U To server S;
[0019] 2-2)S→Blockchain:{DID U P U W U Server S inputs B using fuzzy extraction technology. U Random number generation algorithm Gen(B) U )→{R U ,P U}, resulting in a random string R U and auxiliary string P U Calculate the encrypted password information W U =H(R) U ||PW U ), Select a random number N0 to calculate the dynamic identity information DID U =H(ID) U ||ID S ||N0), where ID S It is the server's identity information; blockchain storage (DID) U P U W U ), and delete B U and PW U ;
[0020] 2-3)S→U:{DID U Server S returns the dynamic ID of the registered user.
[0021] The above-mentioned biometric authentication and key negotiation method based on fuzzy extractor, the specific process of identity authentication and key negotiation in step (3) is as follows:
[0022] 3-1)U→S:{B U PW U User U selects a random number N1, calculates N1P using elliptic curve cryptography to generate a temporary public key, and inputs B. U and PW U Send an authentication request to server S;
[0023] 3-2)S→Blockchain:{P U Server S is controlled by B. U The auxiliary string P is obtained from the fuzz extractor. U Check if a record exists in the blockchain database;
[0024] 3-3) Blockchain → S:{DID U W U}, blockchain for finding related records (DID) U P U W U ), DID U and W U Return to server S;
[0025] 3-4)S→U:{ID S ,P U In N2P, server S sends its own identity information (ID). S And the user's auxiliary string P U Given user U, and select a random number N2 to calculate N2P;
[0026] 3-5) U→S:{Auth U E K (N3,T U User U recovers the data using the random number recovery algorithm Rep(B)}. U ,P U )→{R U}, calculate W U =H(R) U ||PW U ), calculate K = H(N1·N2P||N2P||N1P) using elliptic curve cryptography and send the authentication message Auth. U =H(K||W U ); encrypted random number N3 and current timestamp T U Send to server S;
[0027] 3-6)S→U:{Auth S E K *N4,T SServer S uses N2 to calculate K = H(N2·N1P||N2P||N1P), and decrypts it to obtain N3 and T. U Check timestamp T U The freshness of the material, according to the fuzzy extraction technique Rep(B) U P U →R U Calculate W U =H(R) U ||PW U ) and Auth U =H*K||H(R) U ||PW U To verify U's identity, for security reasons, server S selects the current timestamp T. S Calculate its authentication information Auth s =E K (N4,T S ,sP), and calculate the session key sk US =(K||N4N3P||ID S ||DID U ||sP);
[0028] 3-7) U→S:{Communication}, User U decrypts N4 and T S Check freshness and verify the computation session key sk US =(K||N3N4P||ID S ||DID U ||sP), after which the user and server communicate via session key sk US To conduct secure communication.
[0029] The above-mentioned biometric authentication and key negotiation method based on fuzzy extractor, the specific process of password update in step (4) is as follows:
[0030] During the password update phase, the user's identity information ID U Updated password information PW U * And bioinformatics B U The data is sent to server S; after receiving it, the server inputs B using fuzzy extraction technology. U The Gen() algorithm yields a random string R. U and auxiliary string P U Calculate the updated encrypted password information W U * =H(R) U ||PW U * ), select a random number N5 to calculate the updated dynamic identity information DIDU * =H(ID) U ||ID S 5) Update the dynamic anonymous ID information and store it (DID). U * P U W U * Replace the previous user registration information (DID) in the blockchain. U P U W U ), and delete B at the same time. U and PW U .
[0031] The beneficial effects of this invention are as follows:
[0032] 1. This invention proposes an anonymous identity authentication method based on dynamic IDs. The login identity of the user during the authentication process is dynamically generated by the server to replace the user's real identity, which more effectively protects the user's identity information from being leaked, prevents the tracking and identification of online users, and ensures the security of the authentication process.
[0033] 2. In the scheme design and authentication process, the present invention uses symmetric encryption to accelerate the calculation process. Considering that the security of symmetric encryption is not as high as that of asymmetric encryption, the calculation of the key is confirmed in the key negotiation process to ensure the accuracy of the key negotiation.
[0034] 3. This invention incorporates timestamps into the key negotiation process. The freshness of the timestamp refers to the fact that the information is delivered to the recipient within a predetermined time threshold. By using timestamps, the timeliness of the data is guaranteed, thereby avoiding replay attacks and maximizing the security of the authentication process.
[0035] 4. This invention deploys blockchain technology, leveraging its immutability and distributed storage characteristics to establish a public blockchain for biometric information, recording publicly available information obtained through fuzzy extraction of biometric features throughout its entire lifecycle. By recording users' publicly available biometric information and related operations, comprehensive recording of publicly available information is achieved. The blockchain ledger recording publicly available biometric information enables monitoring and auditing of users and servers. Attached Figure Description
[0036] Figure 1 This is the overall flowchart of the present invention.
[0037] Figure 2 This is a system framework diagram of the present invention.
[0038] Figure 3 This is a schematic diagram of user registration according to the present invention.
[0039] Figure 4This is a schematic diagram illustrating the identity authentication and key negotiation process of the present invention.
[0040] Figure 5 This is a schematic diagram illustrating the password update process of the present invention. Detailed Implementation
[0041] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0042] like Figure 2 As shown, Figure 2 This is a system framework diagram of the present invention. The entities in the diagram include users, servers, and a blockchain. The blockchain is used to store user information and to audit the server. Users can extract biometric information through a biometric collector for identity authentication. When the server receives a user's authentication request, it sends a verification message to check the legitimacy of the user's identity. Only legitimate users can establish a connection with the server and negotiate a secure session key.
[0043] like Figure 1 As shown, a biometric authentication and key negotiation method based on a fuzzy extractor includes the following steps:
[0044] (1) Initialization: The server's preparatory work before the user registers their identity, including the selection of the hash function, the definition of the cyclic group and the calculation of the public and private key pair.
[0045] The server defines a q-order cyclic group G and an elliptic curve E(F) with base point P. p A safe and collision-resistant one-way hash function H:{0,1} * →{0,1} l A private key s∈Z is randomly selected based on the elliptic curve cryptography algorithm. q * And calculate its public key P0 = sP, where Z q * It is a multiplication cyclic group.
[0046] (2) User registration: Users extract biometric information through a fuzzy extractor, combine it with a password to generate a registration request and send it to the server. Legitimate users will receive a dynamic identity ID returned by the server.
[0047] like Figure 3 As shown, the specific process of user registration is as follows:
[0048] 2-1)U→S:{ID U PW U B U User U sends their identity information (ID) through a secure channel. U Password information PW U And bioinformatics B U To server S;
[0049] 2-2)S→Blockchain:{DID U P U W U Server S inputs B using fuzzy extraction technology. U To Gen(B) Y )→{R U ,P U The algorithm generates a random string R. U and auxiliary string P U Calculate the encrypted password information W U =H(R) U ||PW U ), Select a random number N0 to calculate the dynamic identity information DID U =H(ID) U ||ID S ||N0), where ID S It is the server's identity information; storage (DID) U P U W U ) to the blockchain, delete B U and PW U ;
[0050] 2-3)S→U:{DID U Server S returns the dynamic ID of the registered user.
[0051] (3) Identity authentication and key negotiation: Registered legitimate users perform two-way identity authentication with the server and negotiate session keys.
[0052] like Figure 4 As shown, the specific process of identity authentication and key negotiation is as follows:
[0053] 3-1)U→S:{B U PW U User U selects a random number N1, calculates N1P using elliptic curve cryptography to generate a temporary public key, and inputs B. U and PW U Send an authentication request to server S;
[0054] 3-2)S→Blockchain:{P U}, S is from B U The auxiliary string P is obtained from the fuzz extractor. U Check if a record exists in the blockchain database;
[0055] 3-3) Blockchain → S:{DID U W U}, blockchain for finding related records (DID) U P U W U ), DID U and W U Return to server S;
[0056] 3-4)S→U:{ID S ,P U In N2P, server S sends its own identity information (ID). S And the user's auxiliary string P U Given user U, and select a random number N2 to calculate N2P;
[0057] 3-5) U→S:{Auth U E K (N3,T U User U recovers the data using the random number recovery algorithm Rep(B)}. U ,P U )→{R U}, calculate W U =H(R) U ||PW U ), calculate K = H(N1·N2P||N2P||N1P) using elliptic curve cryptography and send the authentication message Auth. U =H(K||W U ); encrypted random number N3 and current timestamp T U Send to server S;
[0058] 3-6)S→U:{Auth S E K (N4,T S Server S uses N2 to calculate K = H(N2·N1P||N2P||N1P), and decrypts it to obtain N3 and T. U Check timestamp T U The freshness of the material, according to the fuzzy extraction technique Rep(B) U P U →R U Calculate W U =H(R) U ||PW U ) and Auth U =H(K||H(R) U ||PW U To verify U's identity, for security reasons, server S selects the current timestamp T. S Calculate its authentication information Auth S =E K (N4,T S,sP), and calculate the session key sk US =(K||N4N3P||ID S ||DID U ||sP);
[0059] 3-7) U→S:{Communication}, User U decrypts N4 and T S Check freshness and verify the computation session key sk US =(K||N3N4P||ID S ||DID U ||sP), after which the user and server can communicate via the session key Sk US To conduct secure communication.
[0060] (4) Password update: Registered legitimate users can send a request to the server to update their password when they need to do so.
[0061] like Figure 5 As shown, the specific process for password updating is as follows:
[0062] During the password update phase, user identity information IF U Updated password information PW U * And bioinformatics B U The data is sent to server S. After receiving the data, the server uses fuzzy extraction technology to input B. U The Gen() algorithm yields a random string R. U and auxiliary string P U Calculate the updated encrypted password information W U * =H(R) U ||PW U * ), select a random number N5 to calculate the updated dynamic identity information DID U * =H(ID) U ||ID S ||N5) Update dynamic anonymous ID information, store (DID) U * P U W U * Replace the previous user registration information (DID) in the blockchain. U P U W U ), and delete B at the same time. U and PW U .
Claims
1. A method of biometric information authentication and key agreement based on a fuzzy extractor, characterized by, Comprise the following steps: (1) initialization: the server in the user registration identity before the preparation, including the selection of hash function, define the cyclic group and calculate the public and private key pair; (2) user registration: the user extracts biological information through the fuzzy extractor, generates registration request and sends it to the server combining password, and the legal user will receive the dynamic identity ID returned by the server; The specific process of user registration is: 2-1) U→S: {ID U , PW U , B U}, the user U sends his own identity information ID U , password information PW U and biological information B U to the server S through a secure channel; 2-2) S→Blockchain: {DID U , P U , W U} Server S inputs B U into the random number generation algorithm algorithm Gen(B U )→{R U , P U}, obtains random string R U and auxiliary string P U , calculates encrypted password information W U =H(R U ||PW U ), selects random number N0 to calculate dynamic identity information DID U =H(ID U ||ID S ||N0), wherein ID S is the identity information of the server; the blockchain stores (DID U , P U , W U ), and deletes B U and PW U ; 2-3) S→U: {DID U}, the server S returns the dynamic ID of the registered user; (3) identity authentication and key agreement: the legal user registered with the server carries out two-way identity authentication and negotiates session key; The specific process of identity authentication and key agreement is: 3-1) U→S: {B U , PW U , N1P}, the user U selects a random number N1, generates a temporary public key according to elliptic curve cryptography, and inputs B U and PW U to the server S to initiate an authentication request; 3-2) S → Blockchain: {P U}, the server S extracts the auxiliary string P from the blockchain B U According to the fuzzy extractor, the auxiliary string P is obtained U Check if the record exists in the blockchain database; 3-3) Blockchain -> S: {DID U , W U}, Blockchain looks up related records (DID U , P U , W U ), returns DID U and W U to server S; 3-4) S→U: {ID S , P U , N2P}, the server S sends its identity information ID S and the user's auxiliary string P U to the user U, and selects a random number N2 to calculate N2P; 3-5) U→S: {Auth U E K (N3, T) U User U recovers the data using the random number recovery algorithm Rep(B). U P U )→{R U }, calculate W U =H(R) U ||PW U ), calculate K = H(N1·N2P||N2P||N1P) using elliptic curve cryptography and send the authentication message Auth. U =H(K||W U ); encrypted random number N3 and current timestamp T U Send to server S; 3-6)S→U:{Auth S E K (N4, T) S Server S uses N2 to calculate K = H(N2·N1P||N2P||N1P), and decrypts it to obtain N3 and T. U Check timestamp T U The freshness of the material, according to the fuzzy extraction technique Rep(B) U P U → R U Calculate W U =H(R) U ||PW U ) and Auth U =H(K||H(R) U ||PW U To verify U's identity, for security reasons, server S selects the current timestamp T. S Calculate its authentication information Auth S =E K (N4, T) S ,sP), and calculate the session key sk US =(K||N4N3P||ID S ||DID U ||sP); 3-7) U→S: {Communication}, User U decrypts N4 and T S Check freshness, verify computation of session key sk US = (K || N3N4P || ID S || DID U || sP), after which the user and server communicate securely using the session key sk US (4) password update: for the legal user registered, when the user needs to update the password, initiates a request to the server, and carries out password update.
2. The fuzzy extractor based biometric authentication and key agreement method of claim 1, wherein, In the step (1), the initialization means that the server defines a q-order cyclic group G, an elliptic curve E(F) with a base point P and a secure and collision-resistant one-way Hash function H: {0, 1} * → {0, 1} l, and randomly selects a private key s ∈ Z q * based on the elliptic curve encryption algorithm, and calculates the public key P0 = sP, wherein Z q * is a multiplication cyclic group. 3.The biometric information authentication and key agreement method based on a fuzzy extractor according to claim 1, wherein, The specific process of password update in the step (4) is: In the password update phase, the user identity information ID U , the updated password information PW U * and the biometric information B U are sent to the server S; The server receives B and inputs B through a fuzzy extraction technique U to the Gen() algorithm to obtain a random string R U and an auxiliary string P U , calculates updated encrypted password information W U * = H(R U || PW U * ), selects a random number N5 to calculate updated dynamic identity information DID U * = H(ID U || ID S || N5) to update the dynamic anonymous ID information and store (DID U * , P U , W U * ) in the blockchain to replace the user registration information (DID U , P U , W U ) before the update, and delete B U and PW U .