Safe and efficient identity authentication method

By using the encryption and decryption scheme of polynomial rings in identity authentication, the problem of insufficient security of password authentication in the prior art is solved, efficient and secure processing of user passwords is achieved, and the complexity of system operation and maintenance is reduced.

CN119496660AActive Publication Date: 2025-02-21HANGZHOU NORMAL UNIVERSITY

Patent Information

Application Number
CN202411688401.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-25
Publication Date
2025-02-21
Estimated Expiration
2044-11-25

AI Technical Summary

Technical Problem

The existing password-based identity authentication scheme has the problem of security dependence on hashing algorithms and salt values, which is vulnerable to dictionary attacks, and has security risks in password transmission and storage, which increases the complexity of system installation and operation and maintenance. .

Method used

Adopt a polynomial ring-based encryption and decryption scheme. The server generates a private key and a public key for identity authentication. The user uses the public key to encrypt the password and transmit it. The server uses the private key to decrypt and performs authentication calculation to ensure that the password is in the encrypted state. Process it next.

Benefits of technology

It improves the confidentiality and security of user passwords, prevents dictionary attacks and password leakage, reduces the system installation and operation and maintenance costs, and enhances the system's reliability and attack resistance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119496660A_ABST
    Figure CN119496660A_ABST
Patent Text Reader

Abstract

The invention discloses a safe and efficient identity authentication method, which is used for realizing identity authentication of a server side to a user side and comprises two stages of server side system initialization and user identity authentication: in the server side system initialization stage, the server side generates system operation parameters, and a polynomial ring related to encryption and decryption is defined by the system operation parameters; a private key and a public key are randomly formed by using a polynomial ring, the private key is used for decryption of a server, and the public key and the private key are used for encryption of a user; the user side registration authentication stage comprises a user registration stage and a user identity authentication stage; in the user registration stage, a server stores a plaintext of a user ID and a ciphertext of a password, and in the user identity authentication stage, the ciphertext of the password is determined through authentication calculation. According to the invention, the identity recognition function of the server to the user side can be realized, and the method has the advantage of high security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of network security, and in particular to a safe and efficient identity authentication method. Background Art

[0002] User identity authentication is the basic module of information system and one of the key means of information system security protection. Among all user identity authentication mechanisms, password-based authentication is the most widely used scheme. This scheme includes two stages: initialization and identity authentication. In the initialization stage, the server stores the user ID, the salted hash value of the password and the salt value used for the salted hash. In the identity authentication stage, the user sends his ID and authentication password to the server. After receiving the user ID and password, the server finds the corresponding salt value and performs salted hash processing on the user password. Then, the hash value is compared with the salted hash value of the user stored by the server. If the two are the same, the authentication is successful, otherwise, the authentication fails. The security of this scheme has the following problems: 1. The security of this method depends on the security of the hash algorithm itself and the length and randomness of the salt value. Irregular use (such as using unsafe algorithms such as MD5 and SHA1, and not using random salt values ​​or the salt value is not random enough) may lead to malicious attacks such as dictionary attacks, thereby greatly reducing the security of the system; 2. The secure transmission of passwords between the user and the server is to establish a secure channel, such as TLS / SSL encrypted channel. This method usually requires the installation of security hardware such as SSLVPN gateway on the server side and the configuration of the corresponding server certificate. This not only increases the cost of information system security protection, but also increases the complexity of system installation, configuration and subsequent operation and maintenance. Summary of the invention

[0003] The purpose of the present invention is to provide a safe and efficient identity authentication method. The present invention can realize the identity recognition function of the service end to the user end, and has the advantage of high security.

[0004] The technical solution of the present invention is a safe and efficient identity authentication method, which is used to implement the identity authentication of the user end by the server end, including two stages: server end system initialization and user end registration authentication: The server system initialization phase includes the following steps: Step 1: The server generates system operation parameters, and uses the system operation parameters to define the polynomial ring involved in encryption and decryption; Step 2: Use the polynomial ring to randomly generate private and public keys. The private key is used for decryption on the server side, and the public and private keys are used for encryption on the user side. The user-side registration and authentication includes user registration and user identity authentication stages; The user registration phase includes the following steps: Step 1: The client sends a registration request to the server and obtains the server's public key; Step 2: The user end encodes the user ID and password to obtain a corresponding digital string; Step 3: The server uses the public key to encrypt each integer in the user ID and password to obtain the corresponding ciphertext, and then sends the ciphertext to the server; Step 4: The server uses the private key to decrypt the ciphertext. After decryption, the server stores the plain text of the user ID and the ciphertext of the password. The user identity authentication stage includes the following steps: Step a: The client encrypts the user ID with the public key to obtain a ciphertext, and sends the ciphertext to the server. At the same time, the client encodes the password; Step b: After receiving the ciphertext of the user ID, the server uses the private key to decrypt it to obtain the plaintext of the user ID, and then finds the ciphertext of the password stored in the server based on the plaintext of the user ID; Step c: The server randomly selects a polynomial in the polynomial ring to perform a first authentication calculation on a portion of the ciphertext of the password, and sends the result to the user after the first authentication calculation; Step d: The user terminal performs a second authentication calculation on the result of the first authentication calculation, and sends the result to the server terminal after the second authentication calculation; Step e: The server performs a third authentication calculation on the result of the second authentication calculation, and then combines the result of the third authentication calculation with another part of the password ciphertext to form a new ciphertext; Step f: The server uses the private key to decrypt the new ciphertext. If the obtained plaintext is the same as the designed value, the authentication is successful, otherwise the authentication fails.

[0005] In the above-mentioned safe and efficient identity authentication method, in step 1, the system operation parameters include an integer greater than 100. , prime numbers greater than 1000 and integer powers of 2 ,in Used to ensure the correctness of data decryption, and Used to define the polynomial ring involved in encryption and decryption: ; In the formula, Prime algebraic polynomial rings as modulos of coefficients; is a prime number The integer domain of ; is the invariant in the algebraic polynomial; The elements in the polynomial ring are: ; The small elements in the polynomial ring are: .

[0006] In the above-mentioned secure and efficient identity authentication method, in step 2, the private key is a random small element in the polynomial ring, expressed as ; The public key is represented by ,in, is a random element in the polynomial ring, , is another random small element in the polynomial ring.

[0007] The above-mentioned secure and efficient identity authentication method, in the encryption process, for the integer to be encrypted , the ciphertext obtained after encryption is expressed as ,in: ; ; In the formula, , and are three random small elements in the polynomial ring, Represents a public key; Upon receiving the ciphertext After that, the decryption process is as follows: calculate , then take The closest An integer multiple of , and then use Divisibility , get the corresponding plaintext .

[0008] In the aforementioned secure and efficient identity authentication method, the encoding and decoding of the user-side registration authentication adopts ASCII code.

[0009] In the above secure and efficient identity authentication method, in step c, the ciphertext of the password is expressed as ; Select the password in the ciphertext Perform the first authentication calculation: ; Where: is a random polynomial in the polynomial ring, the highest degree of which is no greater than , the coefficient of each term in the polynomial is the set {1, 2, ..., -1}; The result of the first authentication calculation is expressed as .

[0010] In the above-mentioned secure and efficient identity authentication method, in step d, the second authentication calculation is as follows: ; Where: It is a system common parameter, that is, an integer greater than 100; yes The corresponding plaintext; The result of the second authentication calculation is expressed as .

[0011] In the above-mentioned secure and efficient identity authentication method, in step e, the third authentication calculation is as follows: ; The result of the third authentication calculation is expressed as ; Then the result of the third authentication calculation and the other part of the password ciphertext form a new ciphertext expressed as , and finally use the private key For the new ciphertext Decryption is performed. If the obtained plaintext is all 0, the authentication is successful, otherwise the authentication fails.

[0012] Compared with the prior art, the present invention has the following beneficial effects: 1. Confidentiality protection of user passwords: During the entire identity authentication process, user passwords are transmitted in ciphertext and stored in ciphertext on the server. All communication and operations on passwords are completed in an encrypted state, ensuring the confidentiality of user passwords. The protocol data exchange of the present invention can be run in an insecure channel, and there is no need to deploy hardware security devices such as SSL VPN gateways, which reduces implementation costs and improves system reliability.

[0013] 2. Anti-offline dictionary attack: User passwords are encrypted and stored on the server, avoiding the risk of user passwords being leaked due to offline dictionary attacks when the server is compromised.

[0014] 3. Innovative application of fully homomorphic encryption scheme: By adopting fully homomorphic encryption (FHE) technology, on the one hand, the user side can use the ciphertext generated by the server to perform calculations without generating and managing its own public and private key pairs; on the other hand, the server side does not need to decrypt the user password plaintext during the entire process of the protocol operation, thus preventing the leakage of the user password during the operation of the protocol.

[0015] 4. Anti-replay attack: The present invention adopts a challenge-response mechanism. The server generates random challenges during each protocol operation, and the client must make new responses according to different challenges. Therefore, the attacker cannot replay any response from the client to deceive the server. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a schematic diagram of the user terminal registration process of the present invention; Figure 2 It is a schematic diagram of the user end identity authentication process of the present invention. DETAILED DESCRIPTION

[0017] The present invention is further described below in conjunction with the accompanying drawings and embodiments, but they are not intended to limit the present invention.

[0018] Embodiment: A safe and efficient identity authentication method is used to implement identity authentication of a user end by a server end, including two stages: server end system initialization and user end registration authentication: The server system initialization phase includes the following steps: Step 1: The server generates system operation parameters, and uses the system operation parameters to define the polynomial ring involved in encryption and decryption; In this step, the system operating parameters include integers greater than 100. , prime numbers greater than 1000 and integer powers of 2 ,in Used to ensure the correctness of data decryption, and Used to define the polynomial ring involved in encryption and decryption: ; In the formula, Prime algebraic polynomial rings as modulos of coefficients; is a prime number The integer domain of ; is an indeterminate in an algebraic polynomial; The elements in the polynomial ring are: ; The small elements in the polynomial ring are: .

[0019] Step 2: Use the polynomial ring to randomly generate private and public keys. The private key is used for decryption on the server side, and the public and private keys are used for encryption on the user side. In this step, after the system operation parameters are determined, the server randomly selects a small element in the polynomial ring as the private key, expressed as ; At the same time, randomly select an element in the polynomial ring And a small element ,calculate , thus obtaining the private key The corresponding public key is expressed as ; During user registration and authentication, users use their public key Encryption, the server uses a private key Decrypt.

[0020] In this embodiment, for the integer to be encrypted ( ), the user-side encryption process is described as follows: 1. The user randomly selects 3 small elements in the polynomial ring , and ; 2. The user end calculates according to the following formula and ; ; ; In the formula, Represents a public key; After encryption, the integer is obtained The ciphertext is represented as After encryption is completed, the user end can discard small elements , and ; The server receives the ciphertext Then, use the corresponding private key To decrypt: 1. Calculation ; 2. Then take and The closest An integer multiple of ; 3. Reuse Divisibility , get the corresponding plaintext .

[0021] The user-side registration and authentication includes user registration and user identity authentication stages; like Figure 1 As shown, the user registration stage includes the following steps: Step 1: The client sends a registration request to the server, and the server sends the public key to the client. For encryption; Step 2: The user end encodes the user ID and password (ASCII code) to obtain the corresponding digital string; In this step, the user ID and password are encoded with ASCII code to obtain the corresponding decimal digital string. Indicates the i-th decimal digit after the password is encoded, such as: Username: HilsWang; Password: kieS87Dq#t; The corresponding ASCII decimal string is: Username: 721051081158797110103; Password: 1071051018356556811335116; Step 3: Server uses public key Encrypt each integer in the user ID and password to obtain the corresponding ciphertext, and then send the ciphertext to the server; In this step, the ciphertext of the user ID is as follows: ; The ciphertext of the password is as follows: ; Step 4: After receiving the ciphertext, the server uses the private key Decrypt the ciphertext to get the decimal digit string corresponding to the ASCII code of the user name, and then decode the user ID after decryption. After decoding, the server stores the plain text of the user ID and the ciphertext of the password; The user identity authentication stage includes the following steps: Step a: The client uses the public key Encrypt the user ID to get the ciphertext , and sends the ciphertext to the server. At the same time, the user encodes the password, and the encoded value is used in the identity authentication process (and the password ciphertext sent by the server) for calculation; In this step, since the encryption algorithm is a probabilistic encryption algorithm, the ciphertext is different from the user ID ciphertext sent by the user end during the registration phase; Step b: After receiving the ciphertext of the user ID, the server uses the private key Decrypt to get the plaintext of the user ID, and then find the ciphertext of the password stored on the server based on the plaintext of the user ID: ; Step c: The server randomly selects a polynomial in the polynomial ring to perform a first authentication calculation on a portion of the ciphertext of the password, and sends the result to the user after the first authentication calculation; In this step, select the password in the ciphertext Perform the first authentication calculation: ; Where: is a random polynomial in the polynomial ring; The result of the first authentication calculation is expressed as .

[0022] Step d: The user terminal performs a second authentication calculation on the result of the first authentication calculation, and sends the result to the server terminal after the second authentication calculation; In this step, the second authentication is calculated as follows: ; Where: It is a system common parameter, that is, an integer greater than 100; yes The corresponding plain text (the i-th digit in the decimal string of the password ASCII code); The result of the second authentication calculation is expressed as .

[0023] Step e: The server performs a third authentication calculation on the result of the second authentication calculation, and then combines the result of the third authentication calculation with another part of the password ciphertext to form a new ciphertext; In this step, the third authentication is calculated as follows: ; The result of the third authentication calculation is expressed as ; Then the result of the third authentication calculation and the other part of the password ciphertext form a new ciphertext expressed as , Step f: The server uses the private key For the new ciphertext Decryption is performed. If the obtained plaintext is the same as the designed value (that is, the obtained plaintext is all 0), the authentication is successful, otherwise the authentication fails.

[0024] In summary, the present invention adopts a fully homomorphic encryption scheme to ensure that the communication and calculation about the password are performed in an encrypted state, thereby improving security. The user password of the present invention is stored in an encrypted form to prevent the password from being leaked when the server is compromised. The present invention adopts a challenge-response mechanism to ensure the uniqueness of each user response data and prevent attackers from replaying information. Therefore, the present invention can realize the identity recognition function of the server to the user end, and has the advantage of high security.

Claims

1. A safe and efficient identity authentication method, characterized by: It includes two stages: server system initialization and user registration authentication: The server system initialization phase includes the following steps: Step 1: The server generates system operation parameters, and uses the system operation parameters to define the polynomial ring involved in encryption and decryption; Step 2: Use the polynomial ring to randomly generate private and public keys. The private key is used for decryption on the server side, and the public and private keys are used for encryption on the user side. The user-side registration and authentication phase includes two phases: user registration and user identity authentication; The user registration phase includes the following steps: Step 1: The client sends a registration request to the server and obtains the server's public key; Step 2: The user end encodes the user ID and password to obtain a corresponding digital string; Step 3: The server uses the public key to encrypt each integer in the user ID and password to obtain the corresponding ciphertext, and then sends the ciphertext to the server; Step 4: The server uses the private key to decrypt the ciphertext. After decryption, the server stores the plaintext of the user ID and the ciphertext of the password. The user identity authentication stage includes the following steps: Step a: The client encrypts the user ID with the public key to obtain a ciphertext, and sends the ciphertext to the server. At the same time, the client encodes the password; Step b: After receiving the ciphertext of the user ID, the server uses the private key to decrypt it to obtain the plaintext of the user ID, and then finds the ciphertext of the password stored in the server based on the plaintext of the user ID; Step c: The server randomly selects a polynomial in the polynomial ring to perform a first authentication calculation on a portion of the ciphertext of the password, and sends the result to the user after the first authentication calculation; Step d: The user terminal performs a second authentication calculation on the result of the first authentication calculation, and sends the result to the server terminal after the second authentication calculation; Step e: The server performs a third authentication calculation on the result of the second authentication calculation, and then combines the result of the third authentication calculation with another part of the password ciphertext to form a new ciphertext; Step f: The server uses the private key to decrypt the new ciphertext. If the obtained plaintext is the same as the designed value, the authentication is successful, otherwise the authentication fails.

2. The safe and efficient identity authentication method according to claim 1, characterized in that: In step 1, the system operating parameters include integers greater than 100 , prime numbers greater than 1000 and integer powers of 2 ,in Used to ensure the correctness of data decryption, and Used to define the polynomial ring involved in encryption and decryption: ; In the formula, Prime algebraic polynomial rings as modulos of coefficients; is a prime number The integer domain of ; is the invariant in the algebraic polynomial; The elements in the polynomial ring are: ; The small elements in the polynomial ring are: 。 3. The safe and efficient identity authentication method according to claim 2, characterized in that: In step 2, the private key is a random small element in the polynomial ring, expressed as ; The public key is represented by ,in, is a random element in the polynomial ring, , is another random small element in the polynomial ring.

4. The safe and efficient identity authentication method according to claim 3, characterized in that: In the encryption process, for the integer to be encrypted , the ciphertext obtained after encryption is expressed as ,in: ; ; In the formula, , and are three random small elements in the polynomial ring, Represents a public key; Upon receiving the ciphertext After that, the decryption process is as follows: calculate , then take The closest An integer multiple of , and then use Divisibility , get the corresponding plaintext .

5. The safe and efficient identity authentication method according to claim 1, characterized in that: The encoding and decoding of the user terminal registration authentication adopts ASCII code.

6. The safe and efficient identity authentication method according to claim 4, characterized in that: In step c, the ciphertext of the password is expressed as ; Select the password in the ciphertext Perform the first authentication calculation: ; Where: is a random polynomial in the polynomial ring, the highest degree of which is no greater than , the coefficient of each term in the polynomial is the set {1, 2, ..., -1}; The result of the first authentication calculation is expressed as .

7. The safe and efficient identity authentication method according to claim 6, characterized in that: In step d, the second authentication is calculated as follows: ; Where: It is a system common parameter, that is, an integer greater than 100; yes The corresponding plaintext; The result of the second authentication calculation is expressed as .

8. The safe and efficient identity authentication method according to claim 7, characterized in that: In step e, the third authentication is calculated as follows: ; The result of the third authentication calculation is expressed as ; Then the result of the third authentication calculation and the other part of the password ciphertext form a new ciphertext expressed as , and finally use the private key For the new ciphertext Decryption is performed. If the obtained plaintext is all 0, the authentication is successful, otherwise the authentication fails.

Citation Information

Patent Citations

  • Lattice-based anonymous roaming authentication method

    CN111586685A

  • Image comparison method and device based on privacy protection

    CN115001652A

  • Fully homomorphic encryption authentication method, storage medium and electronic equipment

    CN116522370A

  • Method and system for homomorphicly randomizing an input

    US20150215123A1

  • Method and apparatus for public-key encrypted communication

    US20160119120A1

Cited By

  • User password online secure storage and access method and system

    CN121150912A

  • Method and system for online security storage and access of user password

    CN121150912B