Two-factor authentication method and system

By combining biometrics and public-key encryption in a two-factor authentication method, and using digital signatures and fuzz extractors to protect user information, this approach solves the problems of replay attacks and malicious server attacks in existing technologies, achieving a more secure and efficient authentication scheme.

CN118944900BActive Publication Date: 2026-01-23SHANGHAI JIAOTONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310523190.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-10
Publication Date
2026-01-23
Estimated Expiration
2043-05-10

AI Technical Summary

Technical Problem

Existing two-factor authentication schemes cannot resist replay attacks, have weak security models, low efficiency, and cannot effectively prevent malicious server attacks or improve authentication efficiency.

Method used

A two-factor authentication method based on biometrics and public key encryption is adopted. The public key encryption scheme with digital signature and fuzz extractor protect the user's biometrics and private key information. The challenge number randomly generated by the server resists replay attacks, and the combination of biometric authentication factor and private key authentication factor resists attacks by malicious users and servers.

Benefits of technology

It improves the security and efficiency of authentication, effectively defends against replay attacks and malicious server attacks, ensures the security of users' biometrics and private key information, and achieves higher authentication strength and a better user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118944900B_ABST
    Figure CN118944900B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of computer security, and discloses a two-factor authentication method and system, which is a two-factor authentication technology based on biological information and digital signature. The biological information is protected by using a public key encryption scheme of the digital signature and a fuzzy extractor to realize an authentication process, and the two-factor authentication method has the ability to resist replay attacks and malicious server attacks. Specifically, the scheme uses a server to randomly generate a challenge number to resist replay attacks, and uses two-factor authentication of a biological authentication factor and a private key authentication factor to resist malicious user attacks. Meanwhile, the scheme uses a fuzzy extractor to protect biological feature information of a user and uses a public key encryption scheme of the digital signature to protect private key information of the user, so as to resist malicious server attacks. The application significantly improves the security and efficiency of authentication and can better meet the needs of users.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer security technology, and in particular to identity authentication technology. Background Technology

[0002] This section is intended to provide background or context for the embodiments of this application as set forth in the claims. The description herein is not intended to imply that it is prior art that has been disclosed, simply because it is included in this section.

[0003] Two-factor authentication is an authentication scheme that uses two different authentication factors to verify a user's identity. Typically, these two factors include the user's physical characteristics (such as fingerprints, facial recognition, iris scanning, etc.) and a secret factor (such as a password, private key, etc.). In a two-factor authentication scheme, the user needs to provide both factors simultaneously to pass authentication. Compared to single-factor authentication, two-factor authentication is more secure because an attacker needs to obtain two different factors to successfully impersonate the user.

[0004] The following section further introduces existing two-factor authentication schemes.

[0005] See Figure 1 The user registration phase with the server. During the registration phase, the user first calls a homomorphic encryption key generation algorithm to generate a public-private key pair (pk, sk) ← HE.KeyGen(1 λ ), collect the user's facial information feature vector Γ=(Γ1,…,Γ k Then, for each bit, the homomorphic encryption algorithm is called to obtain c. i =(α i ,β i )←HE.Enc(pk,Γi i Combine the ID with the ciphertext c1,…,c k The public key (PK) is sent to the server, which then stores it.

[0006] During the authentication phase, the blind squared Euclidean distance algorithm is represented by the BlindESED algorithm.

[0007] See Figure 2 When a user wants to authenticate, the following steps are performed:

[0008] Step 1: First, sample the facial biometric features to obtain Γ′=(Γ1′,…,Γ k ′), will include the user's ID and C i ′=(α i ,β i )←HE.Enc(pk,Γ i ′) is sent to the server.

[0009] Step 2: The server receives C i Afterwards, r0 and r1 are uniformly and randomly generated, and the blind squared Euclidean distance calculation algorithm is called to obtain the second-order ciphertext S. * =(α * ,β * Send it to the user.

[0010] Step 3: The user receives S * Then, the decryption algorithm s is called. * ←HE.Dec(sk,S * Send it to the server.

[0011] Step 4: The server determines the server's actions based on the s data. * Calculate the threshold s and compare it with the standard threshold to determine whether authentication is successful.

[0012] However, the above solution has the following technical problems:

[0013] Unable to defend against replay attacks: Malicious users can pass authentication by replaying the first message without knowing the user's facial feature vector, so this scheme cannot prevent replay attacks.

[0014] The security model is weak: this scheme only considers "honest but curious" servers and cannot prevent attacks from malicious servers. The server can replace the stored ciphertext C with its own in the second step of the authentication process. * Sending the decryption code to the user allows the server to obtain the user's facial feature vector, thus compromising security.

[0015] Low efficiency: This scheme uses a quadratic homomorphic encryption scheme, which has low encryption and decryption efficiency, and therefore may face efficiency problems in practical applications.

[0016] Therefore, the above solutions have low security and low efficiency, and cannot well meet the needs of users. Summary of the Invention

[0017] The purpose of this invention is to provide a two-factor authentication method and system to solve the problems mentioned in the background art.

[0018] This application discloses a two-factor authentication method, including:

[0019] Step A: During the initialization phase, the system calls the initialization algorithm of the signature algorithm to set system parameters;

[0020] Step B: During the user registration phase, the user calls the key generation algorithm of the signature algorithm to generate the first pair of public and private keys according to the system parameters, samples their own biometric features, calls the generation algorithm of the fuzzy extractor to perform calculations on the biometric authentication factor w to generate public auxiliary information and a string, uses the string as a random number of the key generation algorithm of the signature algorithm to generate the second pair of public and private keys, and sends the public key of the first pair of public and private keys and the second pair of public and private keys to the server for storage, and stores the private key of the first pair of public and private keys and the public auxiliary information in the user's device;

[0021] Step C: During the user authentication phase, the server sends a random number to the user and retrieves two signatures based on the random number. The server then authenticates these two signatures with the public key stored within them.

[0022] In a preferred embodiment, in step A, the server first calls the initialization algorithm of the signature algorithm to generate pp. SIG and pp SIG As a system parameter pp 2fa Configure the settings.

[0023] In a preferred embodiment, in step B, the user ID c The key generation algorithm for the signature algorithm (vk1, sk1) is called by SIG.KeyGen(pp). SIG Generate a public-private key pair, and sample your biometrics w←Sample(W). Then, call the fuzzy extraction algorithm (R,P)←FE.Gen(w) on the biometric authentication factor w to obtain public auxiliary information P and string R; use string R to generate another public-private key pair (vk2,sk2)←SIG.KeyGen(pp;R); and set the ID... c vk1 and vk2 are sent to the server, and P and sk1 are stored in the user's device, where id c The identifier represents the user's identity, w represents the user's biometric authentication factor, P is public auxiliary information, R is a string, vk1 and vk2 represent the user-generated public key, and sk1 and sk2 represent the user-generated private key authentication factor.

[0024] In a preferred embodiment, the private key authentication factor is stored confidentially by the user, and only the user knows its value; no one else can obtain it.

[0025] In a preferred embodiment, the user's biometric authentication factor is one of the following or any combination thereof: the user's facial image, the user's fingerprint, or the user's iris.

[0026] In a preferred embodiment, in step C, the user requests a service from the server, and the server retrieves the (id) from its database. cThe system sends a random number r to the user (vk1, vk2), samples the biometric features to obtain w′, and then calls the regeneration algorithm of the fuzzy extractor to generate R′ for w′ and P. R′ is used as the key of the signature algorithm to generate a random number and generate a pair of public and private keys (vk′2, sk′2). For the random number r, the system calls two signature algorithms to obtain σ1 and σ2 respectively, and sends the two signatures σ1 and σ2 to the server. After receiving the signatures σ1 and σ2, the server obtains b1 and b2 respectively. The authentication result is b = b1·b2.

[0027] In a preferred example, authentication succeeds if b = 1, otherwise authentication fails.

[0028] In a preferred embodiment, step C further includes the following steps:

[0029] The user requests a service from the server, sending a request message (id). c The request is sent to the server, and a random number r is sent to the user.

[0030] The server first retrieves the user identification identifier (id) from its database. c The corresponding biometric authentication factor w′ and public auxiliary information P are used. Then, the regeneration algorithm of the fuzzy extractor is called to generate the string R′. R′ is used as the random number of the key generation algorithm of the signature scheme to generate a pair of public and private keys (vk′2, sk′2). For the random number r, the signature algorithm (sk1, r) is called to obtain σ1 and the signature algorithm (sk′2, r) is called to obtain σ2. The two signatures are then sent to the server.

[0031] After receiving the signatures σ1 and σ2, the server verifies b1 using the public key authentication factor vk1, message r, and σ1, and verifies b2 using the public key authentication factor vk2, message r, and σ2. The authentication result is b = b1·b2.

[0032] This application discloses a two-factor authentication system, including:

[0033] Memory, used to store computer-executable instructions; and,

[0034] A processor for implementing the steps of the method as described above when executing the computer-executable instructions.

[0035] This application also discloses a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the method described above.

[0036] This application presents a two-factor authentication scheme based on biometric information and public-key encryption, aiming to improve the security and efficiency of authentication. This method is based on two-factor authentication technology using biometric information and digital signatures. It employs a public-key encryption scheme with digital signatures and a fuzzy extractor to protect biometric information during the authentication process, and possesses the ability to resist replay attacks and malicious server attacks. Specifically, the scheme resists replay attacks by randomly generating challenge numbers on the server; and it uses two-factor authentication with both biometric and private-key authentication factors to resist malicious user attacks. Simultaneously, the scheme uses a fuzzy extractor to protect the user's biometric information and a public-key encryption scheme with digital signatures to protect the user's private key information, thereby resisting malicious server attacks. This application significantly improves the security and efficiency of authentication, better meeting user needs.

[0037] The specification of this application contains numerous technical features distributed across various technical solutions. Listing all possible combinations of these technical features (i.e., technical solutions) would make the specification excessively lengthy. To avoid this problem, the various technical features disclosed in the above-described invention, the various technical features disclosed in the following embodiments and examples, and the various technical features disclosed in the accompanying drawings can be freely combined to form various new technical solutions (all of which are considered to have been described in this specification), unless such a combination of technical features is technically infeasible. For example, one example discloses feature A+B+C, and another example discloses feature A+B+D+E. Features C and D are equivalent technical means that serve the same function, and technically only one needs to be used; they cannot be used simultaneously. Feature E can technically be combined with feature C. Therefore, the solution A+B+C+D should not be considered as described because it is technically infeasible, while the solution A+B+C+E should be considered as described. Attached Figure Description

[0038] Figure 1 This is a diagram illustrating the user registration process with the server in existing authentication technologies.

[0039] Figure 2 This is a diagram illustrating the user authentication process with the server in existing authentication technologies.

[0040] Figure 3 This is a flowchart illustrating the two-factor authentication method according to the first embodiment of this application;

[0041] Figure 4 A schematic diagram of a two-factor authentication protocol based on biometric signatures in the two-factor authentication method of this application. Detailed Implementation

[0042] In the following description, many technical details are presented to help the reader better understand this application. However, those skilled in the art will understand that the technical solutions claimed in this application can be implemented even without these technical details and various variations and modifications based on the following embodiments.

[0043] Explanation of some concepts:

[0044] Authentication factors: Evidence provided by the party being authenticated that can prove their identity is called authentication factors. Authentication factors can be PIN values, password values, physical non-cloning function values, or inherent biometric features such as fingerprints or facial features.

[0045] Two-factor authentication: Two-factor authentication refers to authentication using two different authentication factors. Single-factor authentication refers to authentication using a single authentication factor. With the increasing prevalence of remote services, security requirements are rising, and single-factor authentication may not be sufficient. Therefore, two-factor authentication is increasingly being considered for application in some authentication schemes. Two-factor authentication is more secure than single-factor authentication. Its advantage is that even if one of the two authentication factors is obtained by an adversary, the other can still guarantee the security of the protocol. In January 2022, the Office of the President of the United States issued a memorandum requiring federal government agencies to meet specific cybersecurity standards, including the use of multi-factor authentication, to strengthen the government's defense against increasingly sophisticated threat activities.

[0046] Client-server authentication system: The system consists of one user and one server. The user authenticates with the server using a client device to obtain services. The server verifies the user's identity by executing an authentication protocol and then provides services to the authenticated user.

[0047] Adversary offensive behavior: Based on the nature of the adversary's offensive behavior, it can be divided into two categories.

[0048] (1) Passive attack: The adversary can observe every message or data sent or received in the communication, but cannot update or modify them. For example, eavesdropping is a passive attack.

[0049] (2) Active attack: The adversary can modify, replay, or intercept messages transmitted in the channel.

[0050] Security Model:

[0051] In a client-server authentication system, based on the adversary's role and the nature of the aforementioned attack behaviors, adversaries can be categorized into the following three types:

[0052] (1) Malicious server: Malicious server will target a client and try to obtain the user's privacy information related to authentication factors through some active attacks and passive attacks;

[0053] (2) Honest but curious server: An honest but curious server will target a client, execute the protocol normally, and try to learn the other party's private information from the process of executing the protocol normally, but the server will not launch a malicious active attack.

[0054] (3) Malicious users: Malicious users can launch both passive attacks and malicious active attacks against the server. They may even steal some of the target user's authentication factors (but not all of them) to impersonate the target user and achieve the purpose of authentication.

[0055] The above three adversaries can be combined to obtain the following two security models and security objectives:

[0056] Model 1: The adversary can be a malicious server or a malicious user.

[0057] Model 2: The enemy can be an honest but curious server, or a malicious user.

[0058] Security objectives: When the adversary is a malicious server or an honest but curious server, the goal of two-factor authentication is to prevent the adversary from obtaining the secret information supporting the user's authentication factors; when the adversary is a malicious user, the goal of two-factor authentication is to prevent the adversary from impersonating other legitimate users to pass authentication.

[0059] Based on the definition of adversary types, Model 1 is stronger than Model 2.

[0060] The specific application scenarios of this application are described below. This application can be applied to scenarios such as e-commerce and online banking, where users obtain services through two-factor authentication. Users must possess both authentication factors to pass authentication; if an adversary steals one authentication factor and the other is missing, authentication will fail. Compared to single-factor authentication, two-factor authentication significantly raises the authentication threshold and prevents unauthorized users from abusing the power of authorized users.

[0061] After in-depth research and analysis, the inventors of this application have creatively proposed a new two-factor authentication method and system to address the technical problems raised in the background art. This application designs a novel and efficient two-factor authentication protocol based on biometrics and signature technology.

[0062] The two-factor authentication method in this application is manifested as follows: one authentication factor is the user's biometric information. Another authentication factor is the private key sk1 generated from the user's signature.

[0063] The two-factor authentication protocol in this application considers a stronger security model (server-initiated malicious active attack), and the authentication effect to be achieved is as follows:

[0064] 1. Legitimate users possess two authentication factors: their biometric information and their private signature key. With the help of these two authentication factors, users can authenticate their identity to the server.

[0065] 2. An adversary may steal one of the user's authentication factors (it may steal the user's biometric authentication factor or the user's signature private key authentication factor, but not both). The missing other authentication factor can ensure that the adversary cannot impersonate the user to authenticate to the server.

[0066] 3. Malicious servers can launch malicious attacks, but they still cannot obtain any of the user's secret information supporting authentication factors.

[0067] Therefore, the two-factor authentication proposed in this application is a more secure and efficient method of identity authentication, which can effectively defend against malicious attacks. In practical applications, this authentication protocol can be applied to various scenarios, such as identity authentication in finance, e-commerce, and the Internet of Things.

[0068] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0069] The first embodiment of this application relates to a two-factor authentication method, the process of which is as follows: Figure 3 As shown, the method includes the following steps:

[0070] Step 101: During the initialization phase, the system calls the initialization algorithm of the signature algorithm to set system parameters;

[0071] Step 102: During the user registration phase, the user calls the key generation algorithm of the signature algorithm to generate the first pair of public and private keys according to the system parameters, samples their own biometric features, calls the generation algorithm of the fuzzy extractor to perform calculations on the biometric authentication factor w to generate public auxiliary information and a string, uses the string as a random number of the key generation algorithm of the signature algorithm to generate the second pair of public and private keys, and sends the public key of the first pair of public and private keys and the second pair of public and private keys to the server for storage, and stores the private key of the first pair of public and private keys and the public auxiliary information in the user device;

[0072] Step 103: During the user authentication phase, the server sends a random number to the user and obtains two signatures based on the random number. The server then authenticates the two signatures with the public key stored therein.

[0073] Digital signature schemes are an important component of public-key cryptography, such as Schnorr signatures. We will first introduce the semantics and security of signature schemes. A digital signature scheme includes four algorithms, represented as SIG = (SIG.Setup, SIG.Gen, SIG.Sign, SIG.Vrfy).

[0074] Initialization algorithm pp←SIG.Setup(1 λ ): Input security parameter 1 λ Output the public parameter pp.

[0075] Key generation algorithm (vk,sk) ← SIG.Gen(pp): Input the publicly available system parameter pp, output a pair of verification key and signature key (vk,sk).

[0076] The signature algorithm σ←SIG.Sign(sk,m) takes the signature private key sk as input and the message m as output, and outputs the signature.

[0077] Verification algorithm 0 / 1←SIG.Vrfy(vk,m,σ): Input verification key vk, message m and signature σ, output verification result 0 / 1.

[0078] For all pp←SIG.Setup(1 λ Given (vk, sk) ← SIG.Gen(pp) and m in the message space, we have SIG.Vrfy(vk, m, SIG.Sign(sk, m)) = 1. For any PPT adversary, the probability of successfully forging a signature is negligible.

[0079] In addition, the fuzz extractor consists of two algorithms: FE = (FE.Gen, FE.Rep).

[0080] The generation algorithm (R,P) ← FE.Gen(w) takes samples w∈M from the input source and generates public auxiliary information P and string R;

[0081] The regeneration algorithm R′←FE.Rep(w′,P) takes another sample w′ from the input source and the public auxiliary information P to generate the string R′.

[0082] Correctness means that for all w, w′∈M, the Hamming distances of W and W′ are sufficiently close, and for all (R,P)←FE.Gen(W), we have FE.Rep(w′,P)=R.

[0083] Security means that if M has a sufficiently low minimum entropy, then for all (R,P)←FE.Gen(w), then any adversary of PPT is pseudo-random when P and R are exposed to publicly available auxiliary information.

[0084] refer to Figure 4 As shown below, each step will be explained in detail.

[0085] In step 101, the server first calls the signature initialization algorithm to generate pp. SIG and pp SIG As a system parameter pp 2fa Configure the settings.

[0086] In step 102, during the user registration phase, the user uses the key generation algorithm (sk1, sk1) ← SIG.KeyGen(pp) of the signature algorithm. SIG Generate a public-private key pair, and sample your biometrics w←Sample(W). Then, call the fuzzy extraction algorithm (R,P)←FE.Gen(w) on the biometric authentication factor w to obtain public auxiliary information P and string R; use R to generate another public-private key pair (vk2,sk2)←SIG.KeyGen(pp;R); and set the ID... c vk1 and vk2 are sent to the server, and the server updates the database DB: = DB∪{(id)} c ,vk1,vk2)}, and store P and sk1 secretly in the user equipment.

[0087] Among them, id c The identifier represents the user's identity, w represents the user's biometric authentication factor, which can refer to the user's facial image, fingerprint, iris scan, or other biometric information. P is public auxiliary information, R is a string, vk1 and vk2 represent the public keys generated by the digital signature and biometric information, respectively, and sk1 and sk2 represent the private key authentication factors generated by the digital signature and biometric information, respectively. The private key authentication factors are kept confidential by the user, and only the user knows their values; others cannot obtain them.

[0088] In step 103, during the user authentication phase, the user sends a service request (id) to the server. c ,Request), the server retrieves (id) from the database. c A random number r is sent to the user (vk1, vk2). After receiving the random number r, the user samples the source to obtain w′, and then calls the regeneration algorithm of the fuzzy extractor to generate R′ for w′ and P. R′ is used as the random number of the key generation algorithm of the signature scheme to generate public and private keys (vk′2, sk′2). For the random number r, two signature algorithms are called to obtain σ1 and σ2 respectively, and the two signatures σ1 and σ2 are sent to the server. After receiving the signatures σ1 and σ2, the server obtains b1 and b2 respectively. The authentication result is b = b1·b2.

[0089] Here, (idc, Request) refers to the request message sent by the user when requesting a service from the server, where id c `r` represents the user's identity identifier, and `Request` represents the user's request content. `r` refers to the challenge number randomly generated by the server in step 202 below, used to prevent replay attacks. After receiving `r`, the client generates a public-private key (vk'2, sk'2) by calling the regeneration algorithm of the fuzz extractor on `w'` and `P` to generate the string `R'`, which is used for authentication in subsequent steps. This method can resist replay attacks because malicious attackers cannot know the real challenge number `r`, thus preventing them from reusing previous authentication requests. `σ1` and `σ2` are two signatures obtained by combining the two private key authentication factors and `r`, respectively, and calling the signature algorithm. `b` is a boolean value representing the authentication result; if `b` is 1, authentication is successful; otherwise, authentication fails.

[0090] This step embodies the features of "using a public-key encryption scheme with digital signatures to protect user private key information, thereby resisting malicious server attacks", "using two-factor authentication with biometric authentication factors and private key authentication factors to resist malicious user attacks", and "using a fuzz extractor to protect user biometric information".

[0091] Step 103 further includes steps 201-204, as follows:

[0092] Step 201: The user requests a service from the server, sending a request message (id). c (Request) is sent to the server;

[0093] Step 202: The server receives the request message (id) c After (Request), first retrieve (id) from its database DB. c ,vk1,vk2), send a random number r to the user.

[0094] In other words, the server first retrieves the user's identity identifier (id) from the database. c The server uses two public keys, vk1 and vk2, to generate a random challenge number r. This r is then sent to the user for subsequent authentication. The purpose of this step is to prevent replay attacks and to protect the challenge number r using the unforgeability of digital signatures, thus defending against malicious server attacks.

[0095] Step 203: After receiving the random number r, the user combines the corresponding biometric authentication factor w′ and public auxiliary information P, and then calls the regeneration algorithm of the fuzzy extractor to generate the string R′. R′ is used as the random number of the key generation algorithm of the signature scheme to generate a pair of public and private keys (vk′2, sk′2). For the random number t, the signature algorithm (sk1, r) is called to obtain σ1 and the signature algorithm (sk′2, r) is called to obtain σ2, and the two signatures are sent to the server.

[0096] In other words, after receiving a random number r, the user first signs r using their private key authentication factor sk1 to obtain σ1; then samples their own biometric source to obtain the biometric authentication factor w′; then uses the regeneration algorithm of the fuzzy extractor and the key generation algorithm of the signature scheme to obtain the private key authentication factor sk′2, signs r to obtain σ2, and sends σ1 and σ2 to the server.

[0097] This step demonstrates how to protect user private key information using a public-key cryptographic scheme with digital signatures to defend against malicious server attacks. In this step, the user signs using their own private key authentication factor. Malicious servers cannot obtain the user's private key authentication factor, thus preventing them from launching attacks by substituting the challenge number.

[0098] Furthermore, this step also demonstrates the use of "two-factor authentication, which uses biometric authentication factors and private key authentication factors, to defend against malicious user attacks." In this process, the user uses their own private key authentication factor to sign and samples their own biometric data to obtain a biometric authentication factor. The two factors are then combined for authentication to ensure that the authentication request comes from a legitimate user.

[0099] Step 204: After receiving the signatures σ1 and σ2, the server verifies b1 using the public key authentication factor vk1, message r, and σ1 respectively, and verifies b2 using the public key authentication factor vk2, message r, and σ2. The authentication result is b = b1·b2.

[0100] In other words, the server first uses the public key authentication factor vk1 to verify the challenge number r and the signature σ1, obtaining b1. Then, it uses the public key authentication factor vk2 to verify the challenge number r and the signature σ2, obtaining b2. The authentication result is b = b1·b2. If b = 1, the authentication passes; otherwise, the authentication fails.

[0101] Technical effects:

[0102] As mentioned above, existing homomorphic encryption-based schemes suffer from the following technical problems: they cannot resist replay attacks; they cannot resist attacks from malicious servers; and they are inefficient. Compared with existing technologies, the technical solution of this application can resist replay attacks and attacks from malicious servers, while also being highly efficient. Specifically:

[0103] First, it is highly secure.

[0104] Compared to single-factor authentication, two-factor authentication protocols offer higher security. Even if one factor is lost, the other factor still ensures that an adversary cannot impersonate the user and pass authentication.

[0105] In the second step, the server uses a fresh number *r* as the challenge, so each challenge is different. For an adversary to pass authentication, they must respond correctly to the fresh number; therefore, an adversary cannot replay the message to pass authentication.

[0106] An adversary only obtains the user's private key authentication factor, but not the user's other authentication factor—biometrics. In this case, because the adversary does not know the user's biometric information, the security of the fuzzy extractor ensures that it is difficult for the adversary to recover the signature private key. Therefore, due to the unforgeability of the signature, it is difficult to give a valid signature σ2 that passes the server's authentication.

[0107] An adversary may only obtain the user's biometric authentication factor, but not the user's other authentication factor—the private key. In this case, due to the unforgeability of digital signatures, it is very difficult for the adversary to provide a valid signature σ1 to pass authentication.

[0108] The adversary is a malicious server and has not obtained the target user's secret information: due to the unforgeability of the signature scheme and the security of the fuzzy extractor, the adversary cannot calculate the target user's secret information.

[0109] Secondly, it offers good scalability: the solution can be further extended to two-way authentication. While this protocol implements server-to-user authentication (one-way authentication), in the second step, the server can sign the random messages it sends, and the user verifies the message signature. This enables user-to-server authentication, thus achieving two-way authentication.

[0110] Furthermore, this application also provides a two-factor authentication system, including a memory for storing computer-executable instructions and a processor; the processor is used to implement the steps in the above-described method embodiments when executing the computer-executable instructions in the memory. The processor may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The aforementioned memory may be read-only memory (ROM), random access memory (RAM), flash memory, hard disk, or solid-state drive, etc. The steps of the methods disclosed in the embodiments of this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor.

[0111] It should be noted that in the claims and specification of this patent, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0112] All documents mentioned in this invention are incorporated herein by reference as if each document were individually incorporated by reference. Furthermore, it should be understood that after reading the foregoing teachings of this invention, those skilled in the art can make various alterations or modifications to this invention, and these equivalent forms also fall within the scope defined by the appended claims.

Claims

1. A two-factor authentication method, characterized in that, include: Step A: During the initialization phase, the system calls the initialization algorithm of the signature algorithm to set system parameters; Step B: During the user registration phase, the user invokes the key generation algorithm of the signature algorithm to generate the first public-private key pair based on system parameters, samples their own biometric features, and invokes the generation algorithm of the fuzzy extractor to process the biometric authentication factor. The algorithm performs calculations to generate public auxiliary information and a string. This string is then used as a random number generator in the signature algorithm's key generation process to generate a second public-private key pair. The public keys of the first and second public-private key pairs are sent to the server for storage. The private key of the first public-private key pair and the public auxiliary information are stored in the user's device. This represents the user's identity identifier. This represents the user's biometric authentication factor. It is public supplementary information. It is a string. 、 This represents the public key generated by the user. , This represents the authentication factor of the user-generated private key; Step C: During the user authentication phase, the user requests a service from the server, and the server retrieves the service from its database. Send random number to user Users obtain biometric data through sampling. Then to and The regeneration algorithm of the fuzz extractor is called to generate ,Will The random number generated by the key generation algorithm of the signature algorithm is used to generate a public-private key pair. For random numbers The two signature algorithms were called separately to obtain the results. as well as , , and the two signatures , Send to the server, the server receives the signature. Afterwards, respectively ,and , , The authentication result is .

2. The method as described in claim 1, characterized in that, In step A, the server first calls the initialization algorithm of the signature algorithm to generate... and will As system parameters Configure the settings.

3. The authentication method as described in claim 2, characterized in that, In step B, the user Key generation algorithm for calling signature algorithm Generate a public-private key pair and sample your own biometrics. Then, biometric authentication factors The generation algorithm of calling the fuzz extractor Obtain publicly available auxiliary information With strings ; using strings Generate another public-private key pair ;Will , , Send to the server, , Stored on the user device.

4. The method as described in claim 3, characterized in that the private key authentication factor is stored confidentially by the user, and only the user knows its value, which cannot be obtained by others.

5. The method as described in claim 3, characterized in that, The user's biometric authentication factor is one of the following or any combination thereof: the user's facial image, the user's fingerprint, or the user's iris.

6. The method as described in claim 1, characterized in that, if Authentication will pass if successful, otherwise authentication will fail.

7. The method as described in claim 1, characterized in that, Step C further includes the following steps: The user requests a service from the server, sending a request message ( Send to the server; server Then, first from its database Get from Send random numbers to users The server obtains the user's identity identifier from its database. The two corresponding public keys Then, a challenge number is randomly generated. Furthermore, the server will Send it to the user for use in the subsequent authentication process; The user received a random number Then, combined with the corresponding biometric authentication factors and public auxiliary information Then, the regeneration algorithm of the fuzz extractor is called to generate a string. ,Will The random number generated by the key generation algorithm of the signature scheme is used to generate a public-private key pair. For random numbers Call the signature algorithm respectively get and calling the signature algorithm get And send the two signatures to the server; The server received the signature. Then, the public key authentication factors are used respectively. Public key authentication factor verify The authentication result is .

8. A two-factor authentication system, characterized in that, include: Memory is used to store executable instructions for a computer; as well as, A processor configured to implement the steps of the method as described in any one of claims 1 to 7 when executing the computer-executable instructions.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions that, when executed by a processor, implement the steps of the method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Blockchain key management method, multi-person common signature method and electronic device

    CN111639361A

  • Modifying message data and generating random number digital signature within computer chip

    US20020016913A1