A three-factor based certificateless identity authentication and key agreement method
By combining three-factor authentication with biometrics, passwords, and smart cards for public key self-authentication, the problem of certificateless authentication in multi-server environments is solved, achieving highly secure and efficient authentication and key negotiation.
Patent Information
- Application Number
- CN202310421706.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-19
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2043-04-19
AI Technical Summary
Existing password and smart card-based authentication methods have security risks due to their simplicity, such as password guessing attacks and smart card theft attacks, and lack certificateless authentication solutions in multi-server environments.
A three-factor authentication method is adopted, which combines biometrics, passwords and smart cards. Public key self-authentication is used to achieve certificate-free trust. System parameters are published through the registration center, and users and service servers calculate private keys and perform identity verification and session key negotiation.
It effectively avoids spoofing attacks, password guessing attacks, and replay attacks, ensuring security, and guarantees the efficiency of the algorithm through lightweight operations such as hash functions, making it suitable for multi-server environments.
Smart Images

Figure CN116346495B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of entity identity authentication in cyberspace, and particularly relates to a three-factor-based certificateless identity authentication and key agreement method. BACKGROUND
[0002] With the development of supercomputers, identity authentication schemes also face more powerful computing power. Password-based and smart card-based identity authentication has become the main way of identity authentication due to the simplicity of passwords and the portability of smart cards. However, the simplicity of passwords also corresponds to password guessing attacks and smart card theft attacks.
[0003] Biological characteristics have unique and irregular properties, which provide a new way to solve this problem.
[0004] Therefore, how to use passwords, smart cards and biological characteristics to realize certificateless identity authentication between users and multiple servers has become a problem that needs to be solved by practitioners. SUMMARY
[0005] The present application provides a three-factor-based certificateless identity authentication and key agreement method, which uses public key self-authentication to realize certificateless trust, combines biological characteristics, passwords and smart cards, and designs a more secure and reasonable three-factor identity authentication and key agreement scheme in a multi-server environment, which has high security.
[0006] To achieve the above purpose, the technical scheme adopted by the present application is as follows:
[0007] The present application provides a three-factor-based certificateless identity authentication and key agreement method, which is based on a network architecture constructed by a user, a registration center RC and multiple distributed service servers. The registration center RC publishes system parameters to all nodes in the network architecture, including users and service servers. The method comprises the following steps:
[0008] User registration step: the user generates registration request information based on his own ID, password and biological characteristics through system parameter encryption operation and sends it to the registration center RC. The registration center RC generates smart card containing secret information and reply information based on the registration request information and feeds back to the user. The user calculates the user private key based on the reply information;
[0009] Service server registration step: the service server generates registration request information based on its own parameters through system parameter encryption operation and sends it to the registration center RC. The registration center RC generates reply information based on the registration request information and feeds back to the service server. The service server calculates the service server private key based on the reply information;
[0010] The authentication steps for a user to log in to the service server are as follows: The user calculates their identity verification information based on their ID, password, and biometrics. This information is then compared with the secret information in the smart card. After successful verification, the user calculates and sends a login request to the service server based on their private key. The server verifies the login request and calculates the server session key based on its private key, then sends an authentication response to the user. The user verifies the authentication response and calculates their own session key based on their private key, sending a verification success message back to the service server. After verifying the verification success message, the service server uses the server session key and the user session key as the negotiated session key.
[0011] Preferably, in the user registration step, the user generates registration request information based on their ID, password, and biometric features through system parameter encryption calculations, including:
[0012] User based on random number k i The registration request parameter K is obtained by encrypting and calculating system parameters. i Steps;
[0013] The user obtains the registration request parameter A based on their own ID, password, and secret value through encrypted calculation using system parameters. i Steps;
[0014] Users obtain the registration request parameter HPB based on their own ID and biometrics through encrypted calculations by the system. i The steps.
[0015] Preferably, in the user registration step, the specific steps by which the registration center (RC) generates a smart card containing secret information and a response message based on the registration request information include:
[0016] The Registry Center (RC) is based on the random number w i Registration request parameter K i Reply information W generated from the master key published by the registry center i and The user's private key is based on Calculated;
[0017] The Registry Center (RC) is based on the response information W i Registration request parameters HPB i Registration request parameter A i Generate secret information M using the master key issued by the registry center. i And store it in the smart card.
[0018] Preferably, in the service server registration step, the service server generates registration request information based on its own parameters through system parameter encryption calculation, including:
[0019] The service server is based on a random number k.j and system parameter calculation obtains registration request parameter K j .
[0020] The registration request information further comprises service server identity number SID j .
[0021] Preferably, in the service server registration step, the specific steps that the registration center RC generates reply information based on the registration request information and feeds back to the service server comprise:
[0022] The registration center RC generates the reply information W j based on the random number w j , the registration request parameter K j and the master key issued by the registration center. The service server private key is calculated based on .
[0023] Preferably, in the authentication step of the user logging into the service server, the specific steps that the user calculates the identity verification information based on the ID, password and biological characteristics of the user, and compares and verifies the identity verification information with the secret information in the smart card comprise:
[0024] S11: receiving the difference between the collected biological characteristic information and the biological characteristics submitted in the user registration step, and comparing and verifying the difference, if the threshold requirement is met, then entering S12;
[0025] S12: receiving the input user ID and password, and generating the identity verification information based on the collected biological characteristic information, the input user ID and password, and the system parameter encryption operation;
[0026] S13: comparing and verifying the identity verification information with the secret information in the smart card, if the identity verification information is not equal to the secret information, the smart card refuses to serve, otherwise, calculating the login request information based on the user private key and sending the login request information to the service server.
[0027] Preferably, in the authentication step of the user logging into the service server, the specific steps that the user calculates the login request information based on the user private key and sends the login request information to the service server comprise:
[0028] S21: calculating the login request parameter D i based on the biological characteristics and the system parameter encryption calculation parameter HPB i ;
[0029] S22: obtaining the current timestamp T, target service server identity SID j , and the system parameter encryption calculation parameter Pub i based on the user private key, and combining the login request parameter D iThe login request parameter B is obtained through encrypted calculation of system parameters. ij ;
[0030] The login request information also includes: the current timestamp T, and the parameter Pub, which is calculated using the user's private key and encrypted with system parameters. i The reply message W sent by the Registry Center (RC) to the user i .
[0031] Preferably, in the authentication step of the user login service server, the specific steps of the server verifying the login request information and calculating the server session key based on the service server's private key include:
[0032] S31: Check if the timestamp T is within a reliable range; if yes, proceed to S32.
[0033] S32: Based on response information W i Pub' is obtained by encrypting and calculating the input user ID using system parameters. i and the received parameter Pub i Compare the results; if they match, proceed to step S33.
[0034] S33: Based on timestamp T and target service server identity SID j Login request parameter D i HPB parameter i and Pub' i Construct a bilinear mapping between system parameters; based on login request parameter B ij Perform a bilinear mapping with the system parameters and verify whether the bilinear pair is consistent. If consistent, proceed to S34.
[0035] S34: Based on timestamp T and target service server identity SID j Login request parameter D i HPB parameter i and Pub' i Calculate the response information Tk ji Based on server key and Pub' i Calculate the server session key, and encrypt and calculate the server authentication information (Auth) based on the server session key. ji ;
[0036] S35: Send a response message to the user, including server authentication information (Auth). ji The reply information W sent by the registration center to the service server j Pub is a parameter calculated using the service server's private key and encrypted with system parameters. j And timestamp T.
[0037] Preferably, in the authentication step of the user login service server, the user verifies the authentication response information and calculates the user session key based on the user's private key, and sends the verification pass information back to the service server; after the service server verifies the verification pass information, the specific steps for negotiating the session key using the server session key and the user session key include:
[0038] S41: Check whether the timestamp T is consistent with the current timestamp T obtained in the step of calculating the user's private key and sending the login request information to the service server. If yes, proceed to S42.
[0039] S42: Based on response information W j and the target service server identity SID j Pub' was obtained by calculating using the same system parameter encryption method as S32. j and the received parameter Pub j Compare the results; if they match, proceed to step S43.
[0040] S43: Based on timestamp T, user private key, and target service server identity SID j Login request parameter D i HPB parameter i and Pub i Calculate Tk ij Verify Tk ij With Tk ji Check if they match; if so, proceed to S44.
[0041] S44: Based on user private key and Pub j Calculate the user session key; calculate the user authentication information Auth based on the same encryption calculation method as S34 using the user session key. ij Verify user authentication information Auth ij Auth with server authentication information ji Check if they match; if so, proceed to S45.
[0042] S45: Based on user session key and Tk ij The calculation is verified via message M and then sent to the service server;
[0043] S46: The service server is based on the server session key and Tk. ji M' is calculated using the same encryption method as S45, and the verification message M is checked to see if it matches M'. If they match, the server session key and the user session key are used as the negotiation session key.
[0044] Preferably, it also includes the step of the user updating the password using a smart card, including:
[0045] S51: Obtain the biometric feature input by the user, and verify whether the biometric feature is consistent with the biometric feature input by the user in the user registration request, if yes, enter S52;
[0046] S52: Obtain the ID, password and secret value input by the user, and calculate the secret information M' by the same system parameter encryption as the registration request i Compare the calculated M' i with the secret information M i stored in the smart card, if consistent, enter S53;
[0047] S53: Receive the new password input by the user The smart card updates the secret information M i , and the password update is completed.
[0048] Compared with the prior art, the present application has the following beneficial effects:
[0049] The present application provides a three-factor-based certificateless identity authentication and key agreement system architecture diagram. BRIEF DESCRIPTION OF DRAWINGS
[0050] Figure 1 The present application provides a three-factor-based certificateless identity authentication and key agreement system architecture diagram.
[0051] Figure 2 The present application provides a process diagram of user registration.
[0052] Figure 3 The present application provides a process diagram of server registration.
[0053] Figure 4 The present application provides a process diagram of user login service server authentication and key agreement.
[0054] Figure 5 The present application provides a process diagram of password update. DETAILED DESCRIPTION
[0055] In order to make the technical means, creative features, purposes and effects of the present application easy to understand, the present application is further described below in conjunction with specific embodiments.
[0056] In the description of the present application, it should be noted that the terms "upper", "lower", "inner", "outer", "front end", "rear end", "two ends", "one end", "the other end" and the like indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the present application and simplifying the description, and therefore cannot be understood as indicating or implying that the devices or elements referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore cannot be understood as limiting the present application. In addition, the terms "first", "second" are only for the purpose of description, and cannot be understood as indicating or implying relative importance.
[0057] In the description of the present application, it should be noted that unless otherwise explicitly specified and limited, the terms "mounting", "provided with", "connection" and the like should be broadly understood, for example, "connection" can be fixed connection, can also be detachable connection, or integrally connected; can be mechanical connection, can also be electrical connection; can be directly connected, can also be indirectly connected through an intermediate medium, can be the communication inside two elements. For those skilled in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances.
[0058] The present application provides a three-factor-based certificateless identity authentication and key agreement method, which realizes certificateless trust by public key self-authentication, combines biological characteristics and password and smart card, and designs a more secure and reasonable three-factor identity authentication and key agreement scheme in a multi-server environment, which can be used in various entity identity authentication fields such as public security, medical treatment and government affairs.
[0059] The present application provides a three-factor-based certificateless identity authentication and key agreement method, which realizes certificateless trust by public key self-authentication, combines biological characteristics and password and smart card, and designs a more secure and reasonable three-factor identity authentication and key agreement scheme in a multi-server environment, which can be used in various entity identity authentication fields such as public security, medical treatment and government affairs. j (j = 1, 2, …, m) and n users U i (i = 1, 2, …, n), wherein S j Several different access services or application services can be provided. The user uses his own smart device to access the distributed service server connected in the Internet through a cellular network or a wireless local area network (WLAN).
[0060] It should be noted that the user described in the present embodiment is a user terminal for user registration or login or performing the key agreement step, including but not limited to a computer, a mobile terminal.
[0061] The scheme framework is shown in Fig. 1 as an architecture diagram of the authentication system. Figure 1
[0062] The method specifically comprises the following steps:
[0063] A user registration step: a user generates registration request information based on his / her ID, password and biological characteristics through system parameter encryption operation and sends the information to a registration center RC; the registration center RC generates smart card containing secret information and reply information based on the registration request information and feeds back to the user, and the user calculates a user private key based on the reply information;
[0064] A service server registration step: a service server generates registration request information based on its own parameters through system parameter encryption operation and sends the information to the registration center RC; the registration center RC generates reply information based on the registration request information and feeds back to the service server, and the service server calculates a service server private key based on the reply information;
[0065] An authentication step for user login to the service server: a user calculates identity verification information based on his / her ID, password and biological characteristics, and sends login request information to the service server based on the user private key after the secret information in the smart card is verified; the server verifies the login request information and calculates a server session key based on the service server private key, and feeds back authentication reply information to the user; the user verifies the authentication reply information and calculates a user session key based on the user private key, and feeds back verification pass information to the service server; the service server verifies the verification pass information, and uses the server session key and the user session key as a negotiated session key.
[0066] A legitimate user can easily log in to the service server using his / her smart card, biological characteristics and password. The scheme comprises a server registration stage, a user registration stage, a login and authentication stage, and a password changing stage.
[0067] First, the registration center RC selects a secret random number as a master key, and then calculates a point multiplication (s RC ·P) as a public key Pub RC , wherein P is a generator of a group G1. Further, the center server selects an encryption function h(·). Finally, the registration center RC publishes system parameters {P, p, q, Pub RC , h(·)}. Symbols used in the scheme and explanations are shown in the table:
[0068] Table 1. Symbol explanation
[0069]
[0070]
[0071] Registration phase:
[0072] 1. User registration
[0073] The scheme adopts a three-factor authentication method, and any user U i To access a multi-server environment, the user must first extract the biometric features through the intelligent device, and then submit the biometric features and password and other related information to the registration center RC for registration. After that, the registration center submits the smart card containing some secret information, and returns it to the user U i .
[0074] It can be understood that the smart card in the embodiment is a storage device with computing power, including IC card, USBKEY or dynamic token, etc.
[0075] The process of the user registration phase is shown in Figure 2 .
[0076] Step 1: First, the user U i selects a random number and calculates K i =k i ·P, then selects a secret value b i , b i is randomly selected by the user end, calculates A i =h(ID i ||pw i ||b i ), and protects the identity and password by the secret value b i and the hash function. The biometric features BIO are extracted through the intelligent device, and the HPW i =H(BIO i ) is output. Finally, we calculate HPB i =h(ID i ||H(BIO i ))·P, which associates the biometric features with the identity ID, thereby realizing the combination of identity and password, biometric features. U i sends the registration request information: {h(ID i ), K i , A i , HPB i}.
[0077] Step 2: The registration center RC receives the user registration request information, selects a random number and calculates W i =w i ·P+K i using ID i and K i .and Then the registration center uses the master key and combines the user authentication factor information to calculate the DID i = s RC · HPB i and M i = A i · DID i + W i The registration center stores M i , W i in the smart card. After that, the smart card is sent to the user with the reply information W i , through a secure channel.
[0078] Step 3: The user puts the secret value b i he selected before into his own smart card. Then he calculates his own private key Pub i = s i · P.
[0079] 2. Server registration
[0080] In a multi-server environment, the service server S j , as a system component that provides access services or application services, also needs to be registered with the registration center RC to complete the distribution of keys. The process of server registration is shown in Figure 3 .
[0081] Step 1: First, the server selects a random number and calculates K j = k j · P, then S j sends the registration request information: {K j , SID j}
[0082] Step 2: The registration center RC receives the server registration request information, selects a random number and calculates W j = w j · P + K j using K j , then the registration center replies with information W j and RC sends W j and to the server S j through a secure channel.
[0083] Step 3: The server S j receives the corresponding information and calculates its own private key public key Pubj = s j • P. Registration is completed.
[0084] Login and authentication phase:
[0085] When the user U i needs to log in to the system to request a specific service from the service server S j , a login and mutual authentication process is required. The user first uses the smart device to read and identify the biometric features, and after the identification is passed, the password is input. The smart card calculates the message to be authenticated and compares it with the information stored internally, and then sends a specific message to the specific service server S j . The server S j verifies the user message, thereby realizing mutual authentication and session key negotiation between the user U i and the server S j , ensuring security. The process of the login and authentication phase is shown in Figure 4 .
[0086] Step 1: First, the user U i collects biometric features through a smart device with a fuzzy identifier module and performs identification, uses a fuzzy extractor recovery function, if the difference between BIO' and the first collected biometric feature value BIO i is less than ε, then the biometric feature can be successfully recovered, and then the fuzzy identifier module calculates HPW i = H(BIO i ). The user inputs their own ID and password, and the smart card uses the stored b i to calculate A' i = h(ID i || pw i || b i ), and in turn calculates DID' i = h(ID i || HPW i )·Pub RC and M' i = A' i ·DID' i +W i . Finally, compare the calculated M' i with the M i stored in the smart card, if they are not equal, the smart card rejects the service, otherwise it continues. The user side uses the user private key to calculate D i = HPB i ·s i , then obtains the current time T, the target service server S j identity SID j , calculates d ij=h(T||h(ID) i )||SID j HPB i ||D i ||Pub i Finally, the user terminal calculates B. ij =(s i +d ij )·DID i And send the request information: {W i ,T,h(ID i HPB i D i Pub i B ij}
[0087] Step 2: Service server Sx receives user U i The sent request information first calculates T, checks if the timestamp is within a trusted range, and then calculates Pub'. i =h(h(ID) i )||W i Pub RC +W i and the received Pub i The comparison is successful, and if verification is passed, certificateless public key trust is achieved. This public key is linked to the user's identity h(ID). i ) and W i Yes, that's correct. Next, server S... j Calculate d' ij =h(T||h(ID) i )||SID j HPB i ||D i ||Pub' i ), verify the bilinear pair e(B) ij ,P)?=e(D i +d' ij HPB i Pub RC ) Is it true? If not, server S j Deny service, otherwise, server S j Select random number Calculate R j =r j ·P,Tk ji =d' ij ·r j Pub' i k ji =s j Pub i Auth informationji = h (h (ID i ) || k ji || R j || T). After this, the server S j sends back a response message: {Tk ji , R j , W j , Pub j , Auth ji , T}.
[0088] Step 3: The user U i receives the response message, first checks the time stamp T, this time T is the time node selected by himself in the first request session, thus avoiding denial of service attack caused by malicious behavior through self-verification. The user U i then calculates Pub j ' = h (SID j || W j ) · Pub RC + W j , and compares it with the received Pub j , and realizes the public key trust without certificate through verification, this public key corresponds to the service server identity and W j . The user calculates Tk ij = d ij · s i · R j , checks whether Tk ij ? = Tk ji , the next step calculates k ij = s i · Pub j and Auth ij = h (h (ID i ) || k ij || R j || T), checks whether Auth ij is equal to the received message Auth ji . If there is no verification, the user terminates the session, otherwise the user calculates the verification message M = h (h (ID i ) || k ij || TK ij || R j ), and sends M to the service server S j .
[0089] Step 4: The service server S j receives the verification message M, calculates M' = h (h (ID i ) || k ji || TK ji||R j ), check if equal, if equal, then the mutual authentication between the user U i and the server S j is achieved. Finally the session key sk=k ij =k ji is confirmed.
[0090] Password update phase:
[0091] Due to the low entropy of the password, some password guessing attacks are often faced. Therefore, when the user uses a certain password for a period of time, the password needs to be updated by using the smart card, so as to avoid the password exhaustive attack in a limited time. The password update process is shown in Figure 5 .
[0092] Step 1: first, the user U i collects and identifies the biological characteristics through the smart device with the fuzzy identifier module. After the identification, the user inputs his identity ID i and password pw i , and the smart card calculates A' i using the information b i stored internally. Then DID' i and M' i are calculated in turn, and the specific calculation process is shown in the formula in Figure 5 . Finally, the calculated M' i is compared with the M i stored in the smart card. If not equal, the smart card refuses to serve, otherwise continues to serve. Then the user inputs the new password The smart card updates the password update is completed.
[0093] Next, the security of the scheme of the embodiment of the application is analyzed from the security.
[0094] (1) Password guessing attack: the scheme uses three factors for identity authentication, combines the user password with the identity and secret value b i using A, combines the user biological characteristics BIO i with the identity using HPB i , the registration center uses the master key s RC to perform elliptic curve addition operation on A i , HPB i and the user public key participating information W i , and finally M i , W i and the secret value b i are put into the smart card to realize the combination of the three authentication factors.
[0095] One aspect: the user identity information passed in the authentication process is the hash value of the user real identity, and the one-way of the hash function ensures that the attacker cannot obtain the user real identity ID i Value;
[0096] Another aspect of the biological characteristics BIO i Due to its particularity, it is controlled by the user himself and is the user's own attribute, which cannot be easily obtained by the attacker, ensuring the security of the HPW i On this basis, the IDI i calculated is participated by the registration center master key.
[0097] Due to the above two reasons, the M i in the application is safe. Even if the user intercepts all the messages transmitted between the user and the server, password guessing attacks cannot be performed. In the scheme of the application, offline password updating is used, and the security of the updating process still depends on the secrecy of the three factors and ID i , and the operation is in the hash function, which ensures that the attacker cannot guess the two pw i before and after the password update.
[0098] (2) Two-factor security: under three-factor authentication, it is necessary to ensure two-factor security, that is, the attacker obtains two of the password, smart card or biological characteristics, and cannot calculate the third one. The following will be discussed in different cases:
[0099] 1. Obtain the smart card and the biological characteristics, then the attacker obtains the HPW i and the information W i in the smart card, M i , b i , on this basis A i ·DID i can be calculated by M i =A i ·DID i +W i , if the attacker tries to calculate the user password, the attacker needs to guess the password pw i and ID i at the same time to satisfy A i =h(ID i ||pw i ||b i ), DID i =h(ID i ||HPW i )·Pub RC , obviously it is safe in polynomial time. Or use the information transmitted in the channel h(ID i)Compute ID i , and then use HPW i to compute DID i , and enumerate pw i to satisfy M i = A i ·DID i +W i = h(ID i ||pw i ||b i )·h(ID i ||HPW i )·Pub RC +W i , which is difficult depending on the hash function, and thus is secure. So the attacker cannot compute the exit password by obtaining the smart card and the biometric feature.
[0100] 2. Obtain the smart card and the password, then the attacker obtains pw i and the information W i , M i , b i in the smart card. If the attacker wants to compute the user's biometric feature HPW i , it can be achieved through HPB i or DID i , but it still needs to guess ID i and HPW i at the same time, or guess ID i through A i , which is difficult depending on the hash function, and thus is secure.
[0101] 3. Obtain the password and the biometric feature, then the attacker obtains pw i and HPW i . If the attacker wants to compute the information inside the user's smart card, which is difficult depending on b i being a random number in , which the attacker cannot know, and thus is secure.
[0102] (3) Forward security: In the identity authentication session, the user and the server each select a random number r to achieve the negotiation of Tk. Even if the long-term master key is leaked, it will not cause the past session key to be leaked.
[0103] (4) Anti-replay attack: The identity authentication process adds elements such as timestamp T to avoid replay attacks, and uses a bilinear mapping to verify the correctness of the information. On the other hand, D iThe identity and the biometric factor are combined with the user private key, further guaranteeing that the information cannot be tampered with, and the receiver can verify the bilinear pair through specific received information, thereby resisting replay attacks.
[0104] (5) Anti-camouflage attack: first, the public key authentication mode is used to realize certificateless trust, Pub i ? = h (h (ID i ) || W i ) · Pub RC + W i and W i = w i · P + K i , wherein K i is a secret value managed by the user, the registration center selects a random number w i and calculates the user private key factor Finally, the user obtains the private key by using and k i . It can be seen that the user private key cannot be obtained by others, and the registration center cannot calculate it. However, the private key contains the registration center master key, and only the public key calculated by the correct private key can be verified by the other party, ensuring that the sender's identity matches the public key, and making the entire system more credible and secure. Secondly, in the process of authenticating the user identity by the service server, the bilinear mapping is used, and d i = h (T || h (ID i ) || SID j || HPB i || D i || Pub i ) is calculated by T, D ij received. If the attacker changes the sender's message, it will inevitably fail the verification. Conversely, in the process of authenticating the user by the server, two authentications are also used, and the security is ensured by Tk ij and k ij . This security is based on the discrete logarithm problem under the elliptic curve.
[0105] (6) Anti-internal attack: the scheme of the present application is realized under the certificateless three-factor authentication, even if the attacker is an internal user or server, since the public key Pub RC is managed by the user, combined with the special nature of the biometric feature, and the three factors participate in the login authentication process, the internal malicious user cannot complete the smart card verification and the bilinear pair verification, and the internal malicious server cannot crack Tk ij and k ij . Therefore, the scheme can effectively resist internal attacks.
[0106] The efficiency is analyzed as follows:
[0107] (1)No need to store verification table: Unlike the previous scheme, the present application uses a biological feature combined with a fuzzy extractor, eliminating the process of the previous management center verifying whether the user is a system user by storing a verification table, saving a large amount of storage space. And the user calculates and manages the public and private keys independently, without the need for a certificate.
[0108] (2) Two-way multiple authentication: In the authentication process of the present application, the public key authentication passes through W i and Pub i Verify the identity and public key of the other party, and use the bilinear pair again to verify the identity, and add authentication information Auth ij to further authenticate the identity, and the authentication process is more robust.
[0109] (3) Operation complexity: First, the present application uses a biological feature combined with a fuzzy extractor, which can effectively verify the legal user, and uses a smart card to realize the three-factor verification of the user. Secondly, the authentication process only has three information transmissions, and through the least number of sessions, the two-way identity authentication is completed and the session key agreement is realized. Finally, in the elliptic curve environment, the operation of the present application is only nine times of hash and one bilinear pair.
[0110] In summary, the three-factor certificateless identity authentication and key agreement method proposed by the present application has high security and efficiency through the analysis of the designed scheme.
[0111] Obviously, those skilled in the art can make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application also intends to include these modifications and variations.
Claims
1. A three-factor based certificateless identity authentication and key agreement method, characterized in that, The network architecture is constructed based on a user, a registration center RC and a plurality of distributed service servers, the registration center RC publishes system parameters to all nodes in the network architecture, including the user and the service servers, and the method comprises the following steps: A user registration step: the user generates registration request information based on the ID, password and biological characteristics of the user, and sends the registration request information to the registration center RC through system parameter encryption operation, the registration center RC generates smart card containing secret information and reply information based on the registration request information, and feeds back the smart card and the reply information to the user, and the user calculates the user private key based on the reply information; A service server registration step: the service server generates registration request information based on the parameters of the service server, and sends the registration request information to the registration center RC through system parameter encryption operation; the registration center RC generates reply information based on the registration request information, and feeds back the reply information to the service server; the service server calculates the service server private key based on the reply information; An authentication step of user login service server: the user calculates the identity verification information based on the ID, password and biological characteristics of the user, and sends the login request information to the service server after the identity verification information is compared and verified with the secret information in the smart card; the server verifies the login request information, calculates the server session key based on the service server private key, and feeds back the authentication reply information to the user; the user verifies the authentication reply information, calculates the user session key based on the user private key, and feeds back the verification pass information to the service server; the service server verifies the verification pass information, and takes the server session key and the user session key as the negotiated session key.
2. The three-factor based certificateless identity authentication and key agreement method according to claim 1, wherein, In the user registration step, the user generates registration request information based on the ID, password and biological characteristics of the user through system parameter encryption operation, which comprises: The user obtains the registration request parameter K based on the random number k and the system parameter encryption calculation i The steps of obtaining the registration request parameter K based on the random number k and the system parameter encryption calculation i The user obtains the registration request parameter A based on the ID, password and secret value of the user, and the system parameter encryption calculation i steps. The user obtains the registration request parameter HPB based on the ID and the biometric feature of the user and the system parameter encryption calculation. i The steps of the application.
3. The three-factor based certificateless identity authentication and key agreement method according to claim 2, wherein, In the user registration step, the specific steps that the registration center RC generates smart card containing secret information and reply information based on the registration request information comprise: The registration center RC is based on a random number w i , a registration request parameter K i and a master key generation reply information W i issued by the registration center The user private key is calculated based on The registration center RC bases the reply information W i The registration request parameter HPB i The registration request parameter A i And the master key generation secret information M issued by the registration center i And stores in the smart card.
4. The three-factor based certificateless identity authentication and key agreement method according to claim 1, wherein, In the service server registration step, the service server generates registration request information based on the parameters of the service server through system parameter encryption operation, which comprises: The service server calculates the registration request parameter K based on the random number k and the system parameter j j The steps of calculating the registration request parameter K based on the random number k and the system parameter The registration request information further comprises a service server identity number SID j .
5. The three-factor based certificateless identity authentication and key agreement method according to claim 4, wherein, In the service server registration step, the specific steps that the registration center RC generates reply information based on the registration request information and feeds back the reply information to the service server comprise: The registration center RC is based on a random number w j , the registration request parameter K j and the master key generation reply information W issued by the registration center j and The service server private key is calculated based on 6. The three-factor based certificateless identity authentication and key agreement method according to claim 1, wherein, In the authentication step of user login service server, the specific steps that the user calculates the identity verification information based on the ID, password and biological characteristics of the user, and compares and verifies the identity verification information with the secret information in the smart card comprise: S11: receiving the difference between the collected biological characteristic information and the biological characteristics submitted in the user registration step, and comparing the difference, if the threshold requirement is met, then entering S12; S12: receiving the input user ID and password, and generating identity verification information based on the collected biological characteristic information, the input user ID and password through system parameter encryption operation; S13: comparing and verifying the identity verification information with the secret information in the smart card, if the identity verification information is not equal to the secret information, the smart card refuses to serve, otherwise, the user calculates the login request information based on the user private key and sends the login request information to the service server.
7. The three-factor based certificateless identity authentication and key agreement method according to claim 1, wherein, In the authentication step of user login service server, the specific steps that the user calculates the login request information based on the user private key and sends the login request information to the service server comprise: S21: parameter HPB calculated based on the biometric feature and the system parameter encryption i and the user private key to calculate the login request parameter D i ; S22: Obtain current timestamp T, target service server identity SID j , parameter Pub calculated based on user private key and system parameter encryption i , combine login request parameter D i , obtain login request parameter B through system parameter encryption calculation ij ; The login request information further comprises: a current time stamp T, a parameter Pub calculated based on the user private key and system parameters i and the reply information W sent by the registration center RC to the user i .
8. The three-factor based certificateless identity authentication and key agreement method according to claim 7, wherein, The specific steps of the server verifying the login request information and calculating the server session key based on the service server private key in the authentication step of the user logging into the service server include: S31: checking whether the time stamp T is within a trusted range, and if yes, entering S32; S32: Based on the reply information W i and the input user ID, the system parameter encryption calculation obtains Pub' i and compares with the received parameter Pub i If the comparison is consistent, enter S33; S33: based on the timestamp T, the target service server identity SID j , the login request parameter D i , the parameter HPB i and Pub' i , construct a bilinear mapping with the system parameter; based on the login request parameter B ij , bilinear map with the system parameter, verify whether the bilinear pair is consistent, if consistent, enter S34; S34: based on the timestamp T, the target service server identity SID j , the login request parameter D i , the parameter HPB i and Pub' i , the reply information Tk ji is calculated, the server session key is calculated based on the server key and Pub' i , the server authentication information Auth ji is encrypted based on the server session key S35: send reply information including server authentication information Auth to the user ji , the reply information sent by the registration center to the service server W j , the parameter Pub calculated based on the service server private key and system parameters j , and the timestamp T.
9. The three-factor based certificateless identity authentication and key agreement method according to claim 8, characterized in that, In the authentication step of the user logging into the service server, the user verifies the authentication reply information and calculates the user session key based on the user private key, and feeds back the verification pass information to the service server; After the service server checks the verification pass information, the specific steps of taking the server session key and the user session key as the negotiated session key include: S41: checking whether the time stamp T is consistent with the current time stamp T obtained in the step of calculating and sending the login request information to the service server by the user private key, and if yes, entering S42; S42: Based on the reply information W j and the target service server identity SID j Pub' is calculated by the same system parameter encryption method as S32 j and the received parameter Pub j are compared, and if the comparison is consistent, S43 is entered; S43: Calculate Tk based on timestamp T, user private key, target service server identity SID j , login request parameter D i , parameter HPB i and Pub i Calculate Tk ij , verify Tk ij whether Tk ji is consistent, if yes, go to S44; S44: based on the user private key and Pub j computes a user session key; computes user authentication information Auth based on the user session key using the same encryption computation method as S34 ij , verifies the user authentication information Auth ij with the server authentication information Auth ji , if they are consistent, then proceeds to S45; S45: based on the user session key and Tk ij The computing verification pass message M and sends it to the service server; S46: The service server calculates M' based on the server session key and Tk ji M' is calculated by the same encryption method as S45, and it is verified whether the message M and M' are consistent, and if so, the server session key and the user session key are used as the negotiated session key.
10. The three-factor based certificateless identity authentication and key agreement method according to claim 2, wherein, Further comprising the step of the user updating the password by using the smart card, including: S51: obtaining the biological characteristics input by the user, and verifying whether the biological characteristics are consistent with the biological characteristics input by the user in the registration request, and if yes, entering S52; S52: The self ID, password and secret value input by the user are encrypted with the same system parameters as the registration request to calculate the secret information M i S53: The calculated M' i is compared with the secret information M i stored in the smart card. If they are consistent, S53 is entered. S53: receiving a new password input from the user The smart card updates the secret information M i To The password update is complete.
Citation Information
Patent Citations
Identity-free three-factor remote user authentication method
CN105871553A
Distributed collaborative decryption method based on elliptic curve
CN112910645A