Certificateless multi-factor zero-knowledge proof authentication method based on elliptic curve

By using an elliptic curve-based certificateless multi-factor zero-knowledge proof authentication method, the private key is split into multiple authentication factors, and Schnorr zero-knowledge proofs are used for combined verification. This solves the problems of complex certificate management and key escrow risks, and achieves secure and efficient multi-factor authentication.

CN116170145BActive Publication Date: 2026-01-02NAT UNIV OF DEFENSE TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211696505.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-28
Publication Date
2026-01-02
Estimated Expiration
2042-12-28

AI Technical Summary

Technical Problem

Existing identity authentication schemes suffer from problems such as complex certificate management, key escrow risks, and insufficient security. In particular, in multi-factor authentication, multiple authentication factors are concentrated locally or managed by a trusted third party, making them vulnerable to attacks.

Method used

We employ an elliptic curve-based certificateless multi-factor zero-knowledge proof authentication method, which splits the complete private key into multiple authentication factors and uses the Schnorr zero-knowledge proof method for combined verification, thereby avoiding certificate management and key escrow and enhancing security.

Benefits of technology

It enables multi-factor authentication without the need for private key storage, improving the security and efficiency of the authentication process. Users can choose authentication factors independently, simplifying public key management and enhancing the simplicity and efficiency of identity authentication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116170145B_ABST
    Figure CN116170145B_ABST
Patent Text Reader

Abstract

The application discloses a certificateless multi-factor zero-knowledge proof authentication method based on an elliptic curve, and comprises the following steps: a key generation center KGC is established and initialized; a public key and private key of an authentication factor are selected by an initiator A, and the public key and identity information of the authentication factor are sent to the KGC; the KGC calculates a partial public key and a partial private key of the A and then sends the partial public key and the partial private key to the A through a secure channel, and the A verifies whether the calculation is correct; if the verification is passed, the partial private key is stored in the local area in the form of a token; the A calculates a signature of a challenge value by using a zero-knowledge proof method, and sends the signature to B; and the B verifies the signature to complete identity authentication. The application realizes the requirement that a multi-factor private key does not need to be stored, splits a complete private key into multiple authentication factors, realizes real multi-factor authentication, enhances the security of an authentication process, and enables a user to select an authentication factor and enhance user autonomy in a private key generation process.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of information security, and particularly relates to a certificateless multi-factor zero-knowledge proof authentication method based on an elliptic curve. BACKGROUND

[0002] In a complex network environment, identity authentication technology as the most bottom link of the security service system plays an important role in network security. Common identity authentication modes include single-factor and double-factor identity authentication, which generally adopts a username / password authentication plus an SMS verification code or a password plus a smart card mode. Existing researches show that the current single-factor or double-factor identity authentication scheme has the problems of being easily attacked and weak security. In order to improve the security of identity authentication, some researches start to use a multi-factor identity authentication scheme including user biological characteristics, and the user needs to be authenticated through two or more authentication mechanisms. However, the existing scheme essentially concentrates multiple authentication factors locally, verifies a key distributed by a trusted third party, and who has the key can replace the user to perform authentication, and the real multi-factor authentication is not realized.

[0003] In a public key cryptography-based authentication scheme, a certificate-based authentication scheme guarantees the correspondence between the holder and the public key, and thus involves the management, issuance and revocation of the certificate. The management process of the certificate is complex and costly. In addition, the user private key is stored locally, and once the attacker intrudes and obtains the private key, the attacker can replace the user to perform authentication. In an identity-based public key cryptography authentication scheme, the identity information (such as name, email address, etc.) is directly used as the public key, so that the public key does not need to be bound with the certificate, and the problem of certificate management in the traditional public key cryptography system is improved. However, the user private key is generated by a trusted third party key generation center (KGC), which has the limitation of key escrow and has security risks. SUMMARY

[0004] Therefore, the present application provides a certificateless multi-factor zero-knowledge proof authentication method based on an elliptic curve, which solves the problem of overly complex certificate management, saves storage space, and avoids the risk of key escrow.

[0005] The present application provides a certificateless multi-factor zero-knowledge proof authentication method based on an elliptic curve, which realizes the demand of multi-factor private key without storage, splits the complete private key into multiple authentication factors, generates challenge values by using a Schnorr zero-knowledge proof method for combined verification, realizes real multi-factor authentication, and enhances the security of the authentication process. The user can select authentication factors according to needs, and the user autonomy in the private key generation process is enhanced. The identity of the user is part of the information of the public key, and the identity system is kept simple. The public key does not need a certificate as a carrier, avoids a complex management process, and improves the efficiency of identity authentication.

[0006] The application discloses a certificateless multi-factor zero-knowledge proof authentication method based on an elliptic curve, and the authentication method comprises three types of entities, namely, a key generation center KGC, an authentication initiator A and an authentication responder B, and the method comprises the following steps:

[0007] S1, the key generation center KGC is initialized: the key generation center KGC is established and various types of parameter settings are completed;

[0008] S2, the initiator A is registered at the KGC and obtains a token: the initiator A selects the public and private keys of the authentication factors, and sends the public key of the authentication factors and identity information to the KGC; the key generation center KGC calculates the partial public key and the partial private key of the initiator A, and then sends the partial public key and the partial private key to the initiator A through a secure channel, the initiator A verifies whether the calculation is correct, and if the verification is passed, the partial private key is stored in the local area in the form of a token;

[0009] S3, the initiator A makes a service authentication request to the responder B, and the responder B initiates an authentication challenge to the initiator A: the initiator A uses the schnorr zero-knowledge proof method, each authentication factor calculates a signature for the challenge value and then sends the signature to the responder B, and the responder B verifies the identity authentication.

[0010] Further, the specific implementation steps of the step S1 are as follows:

[0011] The key generation center KGC selects an elliptic curve E defined in a finite field F p , and the curve E has a cyclic group G with a prime number q as the order, and P is a generator of the cyclic group G;

[0012] The KGC selects a suitable hash function:

[0013] H1:{0,1}*→{0,1} n , H3:{0,1}*→{0,1} n , n>0

[0014] The KGC selects a random number as the private key of the KGC, and calculates the public key P pub of the KGC, wherein s is kept secret by the KGC; finally, the KGC discloses the following system parameters: a and b are parameters of the selected elliptic curve, and thereafter, the KGC distributes the parameters params to each communication user in the network or publishes the parameters in a certain publication area.

[0015] Further, the specific implementation steps of the step S2 are as follows:

[0016] The initiator A obtains the public parameters params from the KGC or the publication area and then starts registration;

[0017] Initiator A selects several authentication factors (c1,...,c n ) according to needs, and each factor calculates C1=c1P,...,C n =c n P respectively in a trusted computing environment of each factor.

[0018] Initiator A sends (C1,...,C n ,ID i ) to KGC, ID i is the identity information of initiator A.

[0019] KGC receives and generates a random number r , calculates U=rP, and obtains the partial public key W=C1+...+C n +U=(x w ,y w ) of A, (x w ,y w ) is the coordinate of the partial public key W.

[0020] The key generation center KGC sets the partial private key of A according to the following formula:

[0021] c0=(r+λs)mod q

[0022] where r is a secret value randomly selected by KGC for A, s is the system master key of KGC, λ=H2(x w ||y w ||Z), (x P ,y P ) is the coordinate of the generator P, and is the coordinate of the public key P pub of KGC.

[0023] KGC sends the partial public key W and the partial private key c0 to A.

[0024] After receiving the partial public key W and the partial private key c0 sent by KGC, A calculates C=c0P+C1+...+C n , and judges whether the following equation is satisfied: W'=C-λP pub . If satisfied, it passes the verification; if not satisfied, it reports an error to the key generation center KGC and re-submits the user registration application.

[0025] Initiator A selects a device to store the partial private key c0 as a token, and the complete private key sk i is composed of multiple authentication factors c1,...c n and the token c0, and the complete private key sk i is not stored anywhere.

[0026] Further, the initiator A selects the identity information as ID i , the identity at least includes one of name, email address, phone number, or other certificate number; the authentication factor at least includes one of password, fingerprint, behavior characteristics, and the authentication factor is distributed on multiple devices and is used respectively when needed.

[0027] Further, the specific implementation steps of the step S3 are as follows:

[0028] The initiator A sends the partial public key W and ID to the responder B i ;

[0029] After receiving, the responder B generates a random value y as the challenge value of zero-knowledge proof and sends it to A;

[0030] After receiving the challenge value y, the initiator A calculates e=H2(y||Z||x w ||y w );

[0031] The device storing the token generates a random number R=k0P=(x R ,y R ), h=H3(x R ||y R ||e), and sends to the responder B and sends (y, R) to the trusted computing environment of each factor;

[0032] After receiving (y, R), the trusted computing environment of each factor calculates the values of Z, e and h respectively; generates a random number R i =k i P, and sends to the responder B;

[0033] The responder B calculates the values of Z, e and h, calculates the complete public key PK of the initiator A i =W+λP pub ; the responder B verifies whether the equation is established or not, so as to determine whether the user has the complete secret, and the complete combination of the calculation values of all factors can pass the verification, and the whole process does not transmit the secret itself.

[0034] Compared with the prior art, the beneficial effects of the present application are as follows:

[0035] 1) The application realizes the demand of multi-factor private key without storage, splits the complete private key into multiple authentication factors, generates challenge values by using Schnorr zero-knowledge proof method for combination verification, realizes real multi-factor authentication, and enhances the security of the authentication process.

[0036] 2) The user can select authentication factors according to needs, and enhances the user autonomy in the private key generation process.

[0037] 3) The identity of the user is part of the information of the public key, and the identity system remains simple.

[0038] 4) The public key does not need a certificate as a carrier, avoids a complex management process, and improves the efficiency of identity authentication. BRIEF DESCRIPTION OF DRAWINGS

[0039] Figure 1 The authentication method flowchart of the application;

[0040] Figure 2 The flowchart of the key generation center generating the secret key for the user;

[0041] Figure 3 The flowchart of the user requesting authentication to the server. DETAILED DESCRIPTION

[0042] The application will be further described below in conjunction with the drawings, but in any way limit the application, any transformation or replacement based on the teaching of the application, which belongs to the protection scope of the application.

[0043] The specific technical solutions of the application are as follows:

[0044] A certificateless multi-factor zero-knowledge proof authentication method based on an elliptic curve, the authentication method includes three types of entities: a key generation center (KGC), an authentication initiator A (hereinafter referred to as initiator A), and an authentication responder B (hereinafter referred to as responder B). The method specifically includes the following steps:

[0045] 1) Key generation center (KGC) initialization: establishing the key generation center (KGC) and completing the setting of various parameters.

[0046] 2) Initiator A registers at KGC and obtains a token: the initiator A selects the public and private keys of the authentication factor, sends the public key of the authentication factor and the identity information to the KGC; the key generation center KGC calculates the partial public key and the partial private key of A and sends them to A through a secure channel. A verifies whether it is correct, if the verification is passed, the partial private key is stored in the local as a token.

[0047] 3) initiator A sends service authentication request to responder B, responder B initiates authentication challenge to initiator A: initiator A uses schnorr zero-knowledge proof method, each authentication factor respectively calculates signature on challenge value and sends to responder B, B verifies to complete identity authentication.

[0048] As a further refinement of the application, the specific implementation steps of step 1) are as follows:

[0049] (1.1) Key Generation Center (KGC) selects an elliptic curve E defined on a finite field F p , and the curve E has a cyclic group G of prime order q, and P is a generator of the cyclic group G.

[0050] (1.2) KGC selects a suitable hash function:

[0051] H1:{0,1}*→{0,1} n , H3:{0,1}*→{0,1} n , n>0.

[0052] (1.3) KGC selects a random number as the private key of KGC, and calculates the public key P pub of KGC, where s is kept secret by KGC. Finally, KGC discloses the following system parameters: After that, KGC distributes params to each communication user in the network or publishes it in a certain publication area.

[0053] As a further refinement of the application, the specific implementation steps of step 2) are as follows:

[0054] (2.1) After obtaining the public parameters params from KGC or the publication area, initiator A starts registration. Initiator A selects identity information as ID i , which can include but is not limited to name, email address, phone number, or other certificate number.

[0055] (2.2) Initiator A selects a number of authentication factors (c1,…,c n ) according to needs, such as password, fingerprint, behavior characteristics, etc. The authentication factors can be distributed on multiple devices and used separately when needed. In the trusted computing environment of each factor, calculate C1=c1P,…,C n =c n P respectively.

[0056] (2.3) Initiator A sends (C1,…,C n ,ID i )

[0057] (2.4) KGC receives and generates a random number Computes U = rP, and obtains the partial public key of A, W = C1+…+C n +U=(x w ,y w ).

[0058] (2.5) The key generation center KGC sets the partial private key of A according to the following formula:

[0059] c0=(r+λs)mod q

[0060] Wherein r is a secret value randomly selected by KGC for A, s is the system master key of KGC. λ=H2(x w ||y w ||Z), (x w ,y w ) is the coordinate of the partial public key W, (x P ,y P ) is the coordinate of the generator P, is the coordinate of the public key P pub of KGC.

[0061] (2.6) KGC sends the partial public key W and the partial private key c0 to A.

[0062] (2.7) After receiving the partial public key W and the partial private key c0 sent by KGC, A calculates C = c0P+C1+…+C n , and judges whether the following equation is satisfied: W’ = C-λP pub . If yes, it is verified. If not, it reports an error to the key generation center KGC and re-submits the user registration application.

[0063] (2.8) A selects a device to store the partial private key c0 as a token, and the complete private key sk i is composed of multiple authentication factors c1,…c n and the token c0, and the complete private key sk i is not stored anywhere.

[0064] As a further refinement of the application, the specific implementation steps of step 3) are as follows:

[0065] (3.1) The initiator A sends the partial public key W and the ID i to the responder B.

[0066] (3.2) After receiving, the responder B generates a random value and sends y as the challenge value of zero-knowledge proof to A.

[0067] (3.3) After receiving the challenge value y, the initiator A calculates e = H2(y||Z||x) w ||y w ).

[0068] (3.4) The device storing the token generates a random number. Calculate R = k0P = (x R ,y R ), h=H3(x R ||y R ||e), Will Send (y,R) to responder B and send (y,R) to the trusted computing environment of each factor.

[0069] (3.5) After receiving (y, R), the trusted computational environment for each factor calculates the values ​​of Z, e, and h respectively. Random numbers are generated. Calculate R i =k i P, Will Send to responder B.

[0070] (3.6) Response B calculates the values ​​of Z, e, and h, and calculates the complete public key PK of initiator A. i =W+λP pub .

[0071] (3.7) Response B verifies the equation Whether the statement is valid or not determines whether the user possesses the complete secret. Verification only passes when all calculated factors are combined completely. The secret itself is not transmitted during the entire process. The specific process is as follows: Figure 1 As shown.

[0072] Example

[0073] The following description uses three authentication factors (PIN code, fingerprint, and token) for specific explanation. In practical applications, different numbers or other types of authentication factors can be selected as needed. The description includes the trusted computing environment for the three authentication factors, which are located on three devices (Device 1 is computer 1, Device 2 is mobile phone 1, and Device 3 is mobile phone 2). In practical applications, other combinations of devices can be selected for authentication.

[0074] refer to Figure 2 The flowchart shows how the key generation center generates secret keys for users.

[0075] In step 2.1, KGC completes initialization.

[0076] (2.1.1) The Key Generation Center (KGC) selects a key in the finite field F p Elliptic curve E:y defined on 3 =x2 + ax + b. Curve E has a cyclic group G of order prime q, and P is a generator of the cyclic group G.

[0077] (2.1.2) Select a suitable hash function:

[0078] H1: {0, 1} *→ {0, 1} n , H3: {0, 1} *→ {0, 1} n .

[0079] (2.1.3) Select a random number for KGC As the private key of KGC, the public key of KGC is calculated as P pub = sP. The system public parameters are constructed as:

[0080] After that, KGC will distribute params to each communication user in the network or publish in a certain public area.

[0081] In step 2.2, KGC receives the user's partial secret value C1, C2 and identity information ID i .

[0082] In step 2.3, KGC generates the user's partial public key and partial private key.

[0083] (2.3.1) Generate a random number r and calculate U = rP, thus obtaining the partial public key W = C1 + C2 + U = (x w ,y w ).

[0084] (2.3.2) Calculate the partial private key c0 = (r + λs) mod q, where r is the random number generated by the key generation center KGC, s is the system master key of the key generation center KGC, and λ = H2(x w || y w || Z). a, b are the parameters of the selected elliptic curve, (x w ,y w ) are the coordinates of the partial public key W, (x P ,y P ) are the coordinates of the elliptic curve generator P, is the system public key P pub of KGC.

[0085] (2.3.3) Send the partial private key c0 and the partial public key W to computer 1.

[0086] Figure 3 is a flowchart illustrating the process of a user requesting authentication from a server.

[0087] In step 3.1, the user chooses authentication factors for registration.

[0088] (3.1.1) Enter PIN: c1 in the trusted computing environment of the mobile phone 1, compute C1 = c1P. Send C1 to the computer 1.

[0089] (3.1.2) Enter fingerprint: c2 in the trusted computing environment of the mobile phone 2, compute C2 = c2P. Send C2 to the computer 1.

[0090] (3.1.3) The computer 1 receives (C1, C2, ID i ) and sends them to the KGC for registration.

[0091] In step 3.2, the computer 1 receives the partial public key W and the partial private key c0 sent by the KGC.

[0092] In step 3.3, verify the legality of the public-private key pair, the computer 1 computes C = c0P + C1 + C2, and judges whether it satisfies the equation: W' = C - λPpub.

[0093] In step 3.4, if the above equation holds, it means that a legal key pair has been generated, otherwise the user reports an error to the key generation center KGC and resubmits the user registration application. No complete private key is saved at each device, only the partial private key c0 is stored in the computer 1 in the form of a token.

[0094] In step 3.5, the computer 1 sends the partial public key W and the identity information ID i to the authentication server.

[0095] In step 3.6, the computer 1 receives the challenge value y sent by the server and generates a response value.

[0096] (3.6.1) Compute e = H2(y || Z || x w || y w ).

[0097] (3.6.2) Generate a random number k0, compute R = k0P = (x R , y R ), h = H3(x R || y R || e),

[0098] (3.6.3) The computer 1 sends to the authentication server, and sends (y, R) to the mobile phone 1 and the mobile phone 2.

[0099] In step 3.7, mobile phone 1 and mobile phone 2 receive (y,R) sent by computer 1 and generate response values.

[0100] (3.7.1) The user inputs c1 at mobile phone 1 and calculates the values ​​of Z, e and h.

[0101] (3.7.2) Generate a random number k1 at mobile phone 1, and calculate R1 = k1P. Will Send to the server.

[0102] (3.7.3) The user inputs c2 into the fingerprint verification module on mobile phone 2 and calculates the values ​​of Z, e and h.

[0103] (3.7.4) Generate a random number k2 at mobile phone 2, and calculate R2 = k2P. Will Send to the server.

[0104] In step 3.8, the server calculates the complete public key PK. i =W+λPpub, verified With h·PK i The server checks if (R+R1+R2) is equal to confirm that the client has recovered the correct user key value. If they are equal, the server verifies the user and accepts the connection. Accepting the connection allows the server to send a message to the user notifying them that they have been authenticated. Conversely, if the two values ​​are not equal, the server determines that the user is not authenticated and returns an error.

[0105] Users can also access other servers through this authentication method, which will not be described here.

[0106] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0107] 1) This invention fulfills the requirement of not storing multi-factor private keys. It splits the complete private key into multiple authentication factors and uses the Schnorr zero-knowledge proof method to generate challenge values ​​for combined verification, thereby achieving true multi-factor authentication and enhancing the security of the authentication process.

[0108] 2) Users can select authentication factors as needed, which enhances user autonomy in the private key generation process.

[0109] 3) The user's identity is included as part of the public key information, which preserves the simplicity of the identity system.

[0110] 4) Public keys do not require certificates as a carrier, avoiding complex management processes and improving the efficiency of identity authentication.

[0111] As used herein, the word "preferably" is used interchangeably with the word "preferably," to mean that an example, implementation or embodiment is preferred, but not necessarily advantageous over other examples, implementations or embodiments. As used herein, the word "or" is meant to be inclusive and not exclusive, unless explicitly indicated otherwise or indicated other wise from context. That is, the phrase "A or B" is meant to include any one of A or B, or both. For example, the phrase "A or B" is satisfied by either A; or B; or both A and B.

[0112] Moreover, although the present disclosure has been illustrated and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art based the reading and

[0113] The various functional units in the embodiments of the present application can be integrated in one processing module, or each unit can exist physically, or a plurality of or more units can be integrated in one module. The integrated module can be realized in the form of hardware, or in the form of a software functional module. If the integrated module is realized in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer readable storage medium. The storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk, etc. The above-mentioned devices or systems can execute the storage method in the corresponding method embodiments.

[0114] In summary, the above-mentioned embodiments are one embodiment of the present application, but the embodiments of the present application are not limited by the above-mentioned embodiments, and any changes, modifications, substitutions, combinations and simplifications made without departing from the spirit and principle of the present application are equivalent replacement methods and are included in the protection scope of the present application.

Claims

1. An elliptic curve-based certificateless multi-factor zero-knowledge proof authentication method, the authentication method comprising three types of entities: a key generation center KGC, an authentication initiator A, and an authentication responder B, characterized in that, The method comprises the following steps: S1, a key generation center KGC is initialized: the key generation center KGC is established and various parameter settings are completed; S2, an initiator A registers at the KGC and obtains a token: the initiator A selects a public and private key of an authentication factor, and sends the public key of the authentication factor and identity information to the KGC; the key generation center KGC calculates a partial public key and a partial private key of the initiator A, and then sends the partial public key and the partial private key to the initiator A through a secure channel; the initiator A verifies whether the partial public key and the partial private key are correct; if the verification is passed, the partial private key is stored in the local area in the form of a token; The specific implementation steps of the step S2 are as follows: The initiator A starts registration after obtaining the public parameters params from the KGC or a public area; The initiator A selects several authentication factors (c1,..., c n ) as needed, each of which is calculated in a trusted computing environment as C1 = c1P,..., C n = c n P; The initiator A sends (C1,..., Cn, IDA) to the KGC n , ID i , ID i is the identity information of the initiator A; KGC receives and generates a random number , calculates U = rP, and obtains the partial public key W = C1 +... + C n + U = (x w , y w ), (x w , y w ) are the coordinates of the partial public key W; The key generation center KGC sets the partial private key of the A according to the following formula: c0=(r+λs) mod q where r is a secret value randomly selected by the KGC for A, s is the system master key of the KGC, λ = H2(x w ||y w ||Z), Z = H1(a||b||x P ||y P ||x Ppub ||y Ppub ||ID i ), (x P ,y P ) are the coordinates of the generator P, (x Ppub ,y Ppub ) are the coordinates of the KGC public key P pub . The KGC sends the partial public key W and the partial private key c0 to the A; After receiving the partial public key W and the partial private key c0 sent by the KGC, A calculates C = c0P + C1 + … + C n , and judges whether the following equation is satisfied: W' = C - λP pub If yes, the verification is passed; if not, the KGC is reported of the error and the user registration application is resubmitted. Initiator A chooses a device to store a partial private key c0 as a token, the complete private key sk i is composed of a plurality of authentication factors c1,... c n and the token c0, the complete private key sk is not stored anywhere i ; S3, the initiator A makes a service authentication request to a responder B, and the responder B initiates an authentication challenge to the initiator A: the initiator A calculates a signature for a challenge value by using a schnorr zero-knowledge proof method, and then sends the signature to the responder B; the responder B verifies the signature, and then completes identity authentication; The specific implementation steps of the step S3 are as follows: Initiator A sends partial public key W and ID to responder B i ; The responder B receives the challenge value y and generates a random value x The responder B receives the challenge value y and generates a random value x After receiving the challenge value y, the initiator A calculates Z = H1(a||b||x P ||y P ||x Ppub ||y Ppub ||ID i ), e = H2(y||Z||x w ||y w ); Device storing a token generates a random number , computes R = k0P = (x R ,y R ), h = H3(x R ||y R ||e), ϭ0 = (k0 + c0h) mod q, sends (R, ϭ0) to responder B, sends (y, R) to the trusted computing environment of each factor; After receiving (y, R), the trusted computation environment for each factor calculates the values ​​of Z, e, and h respectively; and generates random numbers. Calculate R i =k i P,ϭ i =(k i +c i h)mod q, which will change (R) i , ϭ i Send to responder B; Responder B computes the values of Z, e, and h, computes the full public key PK of initiator A i = W + λP pub ; The responder B verifies whether the equation (ϭ0+ ϭ1+…+ ϭ n )P = ePK i +(R+R1+…+R n ) is true or not, so as to determine whether the user has the complete secret. The complete secret can pass the verification only when the calculated values of all factors are combined completely. The whole process does not transmit the secret itself.

2. The certificateless multi-factor zero-knowledge proof authentication method based on elliptic curve according to claim 1, characterized in that, The specific implementation steps of the step S1 are as follows: A key generation center KGC selects a point Q in a finite field F p An elliptic curve E defined above, the curve E has a cyclic group G of prime order q, and P is a generator of the cyclic group G; The KGC selects a suitable hash function: H1: {0,1} *→ {0,1} n H2: {0,1} * H3: {0,1} *→ {0,1} n n > 0 KGC selects a random number As the private key of KGC, the public key P of KGC is calculated pub =sP, where s is kept secret by KGC; finally KGC discloses the following system parameters: a, b are parameters of the selected elliptic curve, after which KGC distributes params to each communication user of the network or publishes in the publication area.

3. The certificateless multi-factor zero-knowledge proof authentication method based on elliptic curve according to claim 1, characterized in that, Initiator A selects identity information as ID i Identity includes at least one of name, email address, phone number, or other certificate number; authentication factor includes at least one of password, fingerprint, behavioral characteristics, and authentication factor is distributed on multiple devices and used separately when needed.

Citation Information

Patent Citations

  • Remote multi-factor authentication protocol based on zero knowledge proof

    CN111010279A

  • Multi-factor authentication protocol based on identification password

    CN111062029A