Login authentication method for mail client and electronic device

By improving the login authentication method of the email client, the terminal device feature value, email account and the first salt value of the access password are used for authentication, which solves the problem of simple access password and cumbersome generation process, and achieves higher login security and better user experience.

CN119232503BActive Publication Date: 2025-04-01BEIJING EETRUST TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411756164.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-02
Publication Date
2025-04-01
Estimated Expiration
2044-12-02

AI Technical Summary

Technical Problem

The access password used by users when logging into the email client is relatively simple, poses security risks, and the existing access password generation process is cumbersome, affecting the user experience.

Method used

By obtaining the terminal device characteristic value, email account and first salt value of the access password sent by the mail client, the terminal device, email account and access password are respectively authenticated, and the access password is improved by using the salt value algorithm, and the access password generation process is simplified.

Benefits of technology

It effectively intercepts potential risks in the login process of email client, improves login security, simplifies the process of generating access passwords, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232503B_ABST
    Figure CN119232503B_ABST
Patent Text Reader

Abstract

The present application relates to a login authentication method and electronic device for an email client. The method includes: obtaining the following data sent by the email client: a characteristic value of a terminal device running the email client, an email account used to log in to the email client, and a first salt value of an access password, wherein the first salt value is obtained by the email client using a salt value algorithm to calculate a message authentication code of the access password using a random number obtained from a server; authenticating the terminal device using the characteristic value, authenticating the access password using the first salt value, and authenticating the email account. The present application solves the technical problems that the access password used by the user when logging in to the email client is relatively simple, which poses a security risk, and the existing access password generation process is relatively cumbersome.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing, and in particular to a login authentication method and electronic device for an email client. Background Art

[0002] The access tokens used by users to log in to email clients are typically simple, posing security risks. Furthermore, in existing technologies, administrators enter user information into the email system, generate an access token (i.e., an initial access token), and then notify the user of the access token via text message or phone call. This process is cumbersome for both administrators and users, and creates significant inconvenience.

[0003] Currently, no effective solutions have been proposed for the above technical problems. Summary of the Invention

[0004] The embodiments of the present application provide a login authentication method and electronic device for an email client, which at least solve the problems that the access password used by users when logging into the email client is relatively simple, which poses security risks, and the existing access password generation process is relatively cumbersome.

[0005] According to one aspect of an embodiment of the present application, a login authentication method for an email client is provided, comprising: obtaining the following data sent by the email client: a characteristic value of a terminal device running the email client, an email account used to log in to the email client, and a first salt value of an access password, wherein the first salt value is calculated by the email client using a salt value algorithm to calculate a message authentication code of the access password using a random number obtained from a server; authenticating the terminal device using the characteristic value, authenticating the access password using the first salt value, and authenticating the email account using the first salt value.

[0006] Optionally, authenticating the email account includes: querying whether the email account exists in the email account list stored in the database; if the email account exists in the email account list, determining that the email account authentication is successful; if the email account does not exist in the email account list, determining that the email account authentication is unsuccessful.

[0007] Optionally, the terminal device is authenticated using a characteristic value, including: when the email account authentication is passed, searching whether there is a characteristic value in the terminal device characteristic value list corresponding to the email account; if the characteristic value exists in the terminal device characteristic value list, determining that the terminal device has been bound to the email account, and determining that the terminal device authentication is passed; if the characteristic value does not exist in the terminal device characteristic value list, determining that the terminal device is not bound to the email account, and determining that the terminal device has not been authenticated.

[0008] Optionally, the access password is authenticated using a first salt value, including: if the email account authentication is successful, searching for the message authentication code of the access password corresponding to the email account; using a salt value algorithm to calculate using a random number and the message authentication code found from the server to obtain a second salt value; comparing the first salt value and the second salt value; if the first salt value and the second salt value are the same, determining that the access password authentication is successful; if the first salt value and the second salt value are different, determining that the access password authentication is unsuccessful.

[0009] Optionally, the above method also includes: if the number of times the access password authentication fails exceeds a first preset number, or the number of times the email client is logged in through the email account within the target time period exceeds a second preset number, determining that there is a security risk in the email account; and setting the email client to enable enhanced authentication mode.

[0010] Optionally, before obtaining the data sent by the email client, the above method also includes implementing the registration of the email client on the server through the following method: receiving the email account sent by the email client, wherein the email account is sent after the email client binds the email account with the terminal device; querying the mobile phone number corresponding to the email account, and sending a text message verification code to the mobile phone number; after receiving the text message verification code returned by the email client, sending the device key to the email client; receiving the message authentication code of the access password sent by the email client and the characteristic value of the terminal device, wherein the message authentication code is calculated based on the device key.

[0011] Optionally, the characteristic value of the terminal device is calculated by the email client using the SM3 algorithm on the hardware information of the terminal device and the running operating system information; the message authentication code is calculated by the email client using the SM3-HMAC algorithm on the access password based on the device key.

[0012] According to another aspect of an embodiment of the present application, an electronic device is provided, including: a processor, and a memory for storing a program, wherein the program includes instructions, and when the instructions are executed by the processor, the processor executes the above method.

[0013] According to another aspect of an embodiment of the present application, a non-transitory machine-readable medium storing computer instructions is further provided, where the computer instructions are used to enable a computer to execute the above method.

[0014] According to another aspect of the embodiments of the present application, a computer program product is provided, including a computer program. When the computer program is executed by a processor of a computer, the computer program is used to enable the computer to perform the above method.

[0015] Beneficial effects of the embodiments of the present application:

[0016] In an embodiment of the present application, the following data sent by the email client is obtained: a characteristic value of the terminal device running the email client, an email account used to log in to the email client, and a first salt value of the access password, wherein the first salt value is obtained by the email client using a salt value algorithm to calculate the message authentication code of the access password using a random number obtained from the server; the terminal device is authenticated using the characteristic value, the access password is authenticated using the first salt value, and the email account is authenticated using the first salt value. By authenticating the email account used to log in to the email client, the access password, and the terminal device running the email client, the potential risks in the email client login process are effectively intercepted, and the security of the email client login is improved. In the technical solution provided in the present application, the access password is set by the user, and the generation process does not require the participation of the administrator, which simplifies the access password generation process and improves the user experience.

[0017] The details of one or more embodiments of the present application are set forth in the following drawings and description to make other features, objects, and advantages of the present application more readily apparent. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] To more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other embodiments can be derived from these drawings without inventive effort.

[0019] Figure 1 This is a flowchart of a login authentication method for an email client according to an embodiment of the present application;

[0020] Figure 2 This is a flowchart of a method for registering an email client on a server according to an embodiment of the present application;

[0021] Figure 3 This is a structural block diagram of a login authentication device for an email client according to an embodiment of the present application;

[0022] Figure 4 Schematic diagram of the structure of the electronic device of this embodiment. DETAILED DESCRIPTION

[0023] The following describes embodiments of the present invention in more detail with reference to the accompanying drawings. Although certain embodiments of the present invention are shown in the accompanying drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as being limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present invention. It should be understood that the accompanying drawings and embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of protection of the present invention.

[0024] In the related art, the access passwords used by users when logging into email clients are relatively simple, posing security risks. Furthermore, in the prior art, administrators enter user information into the email system, generate an access password (i.e., initialize the access password), and then notify the user of the access password via text message or phone call. This process is cumbersome for both administrators and users, and can be inconvenient. To address this issue, the present application provides a solution, which is described in detail below.

[0025] Figure 1 Flowchart of a login authentication method for an email client according to an embodiment of the present application. Figure 1 As shown, the method includes the following steps:

[0026] Step S102, obtain the following data sent by the email client: the characteristic value of the terminal device running the email client, the email account used to log in to the email client, and the first salt value of the access password, wherein the first salt value is calculated by the email client using a salt value algorithm using a random number obtained from the server to calculate the message authentication code of the access password.

[0027] According to an optional embodiment of the present application, before executing step S102, it is necessary to implement registration of the mail client on the server. Figure 2 This is a flow chart of a method for registering an email client on a server according to an embodiment of the present application. Figure 2 As shown, the method includes the following steps:

[0028] Step S202: Receive the email account sent by the email client, wherein the email account is sent after the email client binds the email account to the terminal device.

[0029] First, the user enters their email account in the email client and clicks Next to bind their device to the email account (that is, to list the device as a trusted device). The email client then sends the email account to the server. The device is the computer running the email client.

[0030] Step S204: query the mobile phone number corresponding to the email account and send a text message verification code to the mobile phone number.

[0031] After receiving the email account, the server queries the mobile phone number used to register the email account and sends a text message verification code to the mobile phone number. After receiving the text message verification code, the user enters the text message verification code in the email client and clicks Next to proceed with the text message verification.

[0032] Step S206: After receiving the SMS verification code returned by the email client, the device key is sent to the email client.

[0033] After the server successfully verifies the SMS verification code, it returns the device key to the email client (this device key is stored on the terminal device for subsequent calculations). After receiving the device key, the email client displays the self-service password setting interface, where the user enters the access password (in this application, the access password is 4 characters, but other characters are also acceptable and are not limited here) and confirms the access password (entering the access password a second time so that the email client can confirm whether the access password entered by the user is correct).

[0034] Step S208: Receive the message authentication code of the access password and the characteristic value of the terminal device sent by the email client, wherein the message authentication code is calculated based on the device key.

[0035] As an optional embodiment of the present application, the message authentication code is obtained by the email client calculating the access password based on the device key using the SM3-HMAC algorithm.

[0036] After the user enters the access password on the self-service password interface of the email client, the email client calculates the message authentication code (hereinafter referred to as the H value) of the access password using the SM3-HMAC algorithm (the device key is used as the key of the algorithm).

[0037] SM3-HMAC is a message authentication code (HMAC) implementation based on the SM3 hash algorithm. HMAC itself is a technique for constructing message authentication codes. It can use any cryptographic hash function to generate a fixed-length tag that can be used to verify data integrity and authenticity. When SM3 is used as the underlying hash function, SM3-HMAC is formed.

[0038] As an optional embodiment of the present application, the characteristic value of the terminal device is obtained by calculating the hardware information of the terminal device and the operating system information of the terminal device using the SM3 algorithm by the email client.

[0039] In an embodiment of the present application, upon startup, the email client performs initialization and collects information about the terminal device's hardware and operating system. Hardware information includes, but is not limited to, the terminal device's central processing unit (CPU) model, hard drive serial number, and graphics card serial number. Operating system information includes information such as the operating system version.

[0040] The email client uses the SM3 algorithm to perform summary calculation on the hardware information and operating system information of the terminal device collected above to obtain a fixed-length feature value (hereinafter referred to as P value).

[0041] Then, the email client sends the P value and H value to the server, and the server records the P value and H value. At this point, the email client is successfully registered on the server.

[0042] The above describes the process of registering the email client on the server. Now let's go back to the login authentication steps.

[0043] In step S102, after the user enters their email account and access token used to log in to the email client and clicks "Authenticate," the email client obtains the access token and first calculates the message authentication code (H value) of the access token using the SM3-HMAC algorithm mentioned above (using the device key as the key).

[0044] The email client then obtains the authentication random number from the server and uses the salt algorithm to calculate the salt value C1 (the first salt value) for the message authentication code of the access token. The first salt value C1 is calculated by adding the salt to the message authentication code (H value) of the access token using the random number obtained from the server as the salt.

[0045] A salting algorithm, also known as a salting algorithm, is a security measure used during password storage. Salting involves adding random data (the salt) to the original password before hashing it. The resulting hash is then hashed. This increases password security because even if two users choose the same password, the resulting hash value will be different if different salts are used. A key characteristic of a salting algorithm is that the calculated value for the same access password will be different each time, due to the inclusion of a random number.

[0046] Finally, the client sends the characteristic value of the terminal device (i.e., P value, the calculation method is the same as the calculation method of P value during the registration process), the first salt value C1, and the email account to the server.

[0047] Step S104: Authenticate the terminal device using the characteristic value, authenticate the access password using the first salt value, and authenticate the email account.

[0048] The above-mentioned technical solution provided in the embodiment of the present application achieves the technical effect of effectively intercepting potential risks in the email client login process and improving the security of the email client login by authenticating the email account, access password and terminal device running the email client respectively. In addition, in the technical solution provided in the present application, the access password is set by the user himself, and the generation process does not require the participation of the administrator, which simplifies the access password generation process and improves the user experience.

[0049] According to an optional embodiment of the present application, when executing step S104 to authenticate the email account, it is achieved by the following method: querying whether the email account exists in the email account list stored in the database; if the email account exists in the email account list, determining that the email account authentication is successful; if the email account does not exist in the email account list, determining that the email account authentication is unsuccessful.

[0050] In an embodiment of the present application, a list of email accounts can be maintained. This list is used to store email accounts that have successfully logged into the email client. When verifying an email account entered by a user, the server only needs to query the list to see if the email account entered by the user exists. If so, the email account has been authenticated; if not, the email account has failed authentication, indicating that the email account presents a security risk.

[0051] Through the above technical solution, the email account can be authenticated, which improves the security of email client login.

[0052] According to another optional embodiment of the present application, when executing step S104 to authenticate the terminal device using the characteristic value, it can be achieved through the following method: when the email account authentication is passed, check whether there is a characteristic value in the terminal device characteristic value list corresponding to the email account; if the characteristic value exists in the terminal device characteristic value list, determine that the terminal device has been bound to the email account, and determine that the terminal device authentication is passed; if the characteristic value does not exist in the terminal device characteristic value list, determine that the terminal device is not bound to the email account, and determine that the terminal device has not been authenticated.

[0053] In an embodiment of the present application, when registering an email client on a server, the terminal device's feature value is associated with the email account (i.e., one email account corresponds to one feature value list, which contains one or more feature values). When verifying the terminal device, a search is performed on the feature value list corresponding to the email account to see if the requested feature value is in this feature value list. If so, it is determined that the terminal device has been bound to the email account and the terminal device authentication has passed; otherwise, it is determined that the terminal device has not been bound to the email account and the terminal device authentication has failed.

[0054] Through the above technical solution, the terminal device running the email client can be authenticated, thereby improving the security of the email client login.

[0055] In some optional embodiments of the present application, when executing step S104 to authenticate the access password using the first salt value, it is achieved by the following method: if the email account authentication is successful, find the message authentication code of the access password corresponding to the email account; use the salt value algorithm to calculate using the random number and the message authentication code found from the server to obtain the second salt value; compare the first salt value and the second salt value; if the first salt value and the second salt value are the same, determine that the access password authentication is successful; if the first salt value and the second salt value are different, determine that the access password authentication is unsuccessful.

[0056] Because the salt value is calculated based on the access token's H value, it can be used to authenticate the access token. When authenticating the access token, the server first locates the H value corresponding to the email account (this value is sent by the email client when it registers with the server). The server uses the retrieved H value and the authentication random number (the same random number received by the email client during the request) to calculate the salt value against the H value using the same SM3-HMAC algorithm used by the client, yielding a second salt value, C2. The server then compares the first salt value, C1, with the second salt value, C2 (the first salt value, C1, is calculated by the email client and sent to the server, while the second salt value, C2, is calculated by the server). If the first salt value, C1, and the second salt value, C2, match, the access token authentication succeeds; otherwise, the access token authentication fails.

[0057] Through the above technical solution, the access password used to log in to the email client can be authenticated, thereby improving the security of email client login.

[0058] In other optional embodiments of the present application, if the number of times the access password authentication fails exceeds a first preset number, or the number of times the email client is logged into through the email account within the target time period exceeds a second preset number, it is determined that there is a security risk in the email account; and the email client is set to enable enhanced authentication mode.

[0059] In an embodiment of the present application, the server uses an AI data model to analyze whether a user's email account presents a security risk. For example, if a single email account has multiple failed login attempts, this indicates that the user has repeatedly entered the incorrect access password for that email account when logging into the email client (i.e., the access password has repeatedly failed authentication). In this case, this indicates a security risk with the email account.

[0060] Another situation is that an email account is frequently used to log in to the email client during non-working hours. For example, logging in to the email client through an email account multiple times between 1 a.m. and 3 a.m. In this case, the email account is also considered to have a security risk.

[0061] Once a security risk is identified for an email account, enable enhanced authentication mode in the email client. For example, users are required to authenticate via SMS verification code. Only after passing the authentication can they log in to the email client using the email account with the security risk.

[0062] The above solution adopts a large AI model, which can dynamically analyze user behavior, effectively intercept potential risks, and take into account the ease of use and security of users.

[0063] Based on the above-mentioned email client login authentication method provided in the embodiment of the present application, the embodiment of the present application also provides a email client login authentication device, such as Figure 3 As shown, the device includes:

[0064] The acquisition module 30 is configured to obtain the following data sent by the email client: a characteristic value of the terminal device running the email client, an email account used to log in to the email client, and a first salt value of the access password, wherein the first salt value is calculated by the email client using a salt value algorithm using a random number obtained from the server to calculate the message authentication code of the access password.

[0065] The authentication module 32 uses the characteristic value to authenticate the terminal device, uses the first salt value to authenticate the access password, and authenticates the email account.

[0066] The above-mentioned device provided in the embodiment of the present application achieves the technical effect of effectively intercepting potential risks in the process of logging into the email client by authenticating the email account, access password and terminal device running the email client respectively, thereby improving the security of the email client login.

[0067] It should be noted that Figure 3 The preferred implementation of the embodiment shown can be referred to Figure 1 The description of the embodiment shown is not further limited here.

[0068] An embodiment of the present application further provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor. The memory stores a computer program executable by the at least one processor, wherein the computer program, when executed by the at least one processor, causes the electronic device to perform the method of the embodiment of the present application.

[0069] An embodiment of the present application further provides a non-transitory machine-readable medium storing a computer program, wherein the computer program, when executed by a processor of a computer, is used to cause the computer to execute the method of the embodiment of the present application.

[0070] An embodiment of the present application further provides a computer program product, including a computer program, wherein the computer program, when executed by a processor of a computer, is used to cause the computer to execute the method of the embodiment of the present application.

[0071] refer to Figure 4 , a structural block diagram of an electronic device that can be used as a server or client of an embodiment of the present application will now be described, which is an example of a hardware device that can be applied to various aspects of the present application. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or required herein.

[0072] like Figure 4 As shown, the electronic device includes a computing unit 401, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 402 or a computer program loaded from a storage unit 408 into a random access memory (RAM) 403. RAM 403 can also store various programs and data required for the operation of the electronic device. The computing unit 401, ROM 402, and RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

[0073] Multiple components within the electronic device are connected to the I / O interface 405, including an input unit 406, an output unit 407, a storage unit 408, and a communication unit 409. The input unit 406 can be any type of device capable of inputting information into the electronic device. The input unit 406 can receive input numeric or character information and generate key signal inputs related to user settings and / or function control of the electronic device. The output unit 407 can be any type of device capable of presenting information and can include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 408 can include, but is not limited to, a magnetic disk or an optical disk. The communication unit 409 allows the electronic device to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks, and can include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0074] Computing unit 401 can be various general-purpose and / or specialized processing components with processing and computing capabilities. Some examples of computing unit 401 include, but are not limited to, CPUs, graphics processing units (GPUs), various specialized artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processors (DSPs), and any suitable processors, controllers, microcontrollers, etc. Computing unit 401 performs the various methods and processes described above. For example, in some embodiments, the method embodiments of the present application can be implemented as a computer program tangibly embodied in a machine-readable medium, such as storage unit 408. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device via ROM 402 and / or communication unit 409. In some embodiments, computing unit 401 can be configured to perform the above-described methods by any other suitable means (e.g., via firmware).

[0075] The computer programs for implementing the methods of the embodiments of the present application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0076] In the context of embodiments of the present application, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable signal medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, or infrared system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media may include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fibers, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0077] It should be noted that the term "including" and its variations used in the embodiments of the present application are open inclusions, that is, "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one other embodiment"; the term "some embodiments" means "at least some embodiments". The modifications of "one" and "multiple" mentioned in the embodiments of the present application are illustrative and not restrictive. Those skilled in the art should understand that unless the context clearly indicates otherwise, it should be understood as "one or more".

[0078] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or refuse.

[0079] The various steps described in the method implementation schemes provided in the embodiments of the present application can be performed in different orders and / or in parallel. In addition, the method implementation schemes may include additional steps and / or omit the steps shown. The scope of protection of the present application is not limited in this respect.

[0080] The term "embodiment" in this specification refers to specific features, structures or characteristics described in conjunction with the embodiment that can be included in at least one embodiment of the present application. The appearance of this phrase in various places in the specification does not necessarily mean the same embodiment, nor does it mean that it is mutually exclusive with other embodiments and is independent or optional. The various embodiments in this specification are described in a related manner, and the same or similar parts between the various embodiments are referenced to each other. In particular, for the device, equipment, and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts are referred to the partial description of the method embodiment.

[0081] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of patent protection. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A login authentication method for an email client, characterized in that: include: Obtain the following data sent by the email client: a characteristic value of a terminal device running the email client, an email account used to log in to the email client, and a first salt value of an access password, wherein the first salt value is calculated by the email client using a salt value algorithm and a random number obtained from a server to calculate a message authentication code of the access password; Authenticating the terminal device using the characteristic value, authenticating the access password using the first salt value, and authenticating the email account; Authenticating the email account includes: querying whether the email account exists in an email account list stored in a database; if the email account exists in the email account list, determining that the email account authentication has passed; if the email account does not exist in the email account list, determining that the email account authentication has failed; The access password is authenticated using the first salt value, including: when the email account authentication passes, searching for a message authentication code for the access password corresponding to the email account; using a salt value algorithm to calculate using the random number and the message authentication code found from the server to obtain a second salt value; comparing the first salt value and the second salt value; if the first salt value and the second salt value are the same, determining that the access password authentication passes; if the first salt value and the second salt value are different, determining that the access password authentication fails.

2. The method according to claim 1, characterized in that Authenticating the terminal device using the characteristic value includes: If the email account authentication is successful, searching whether the feature value exists in the terminal device feature value list corresponding to the email account; If the characteristic value exists in the terminal device characteristic value list, it is determined that the terminal device has been bound to the email account, and it is determined that the terminal device has been authenticated; If the characteristic value does not exist in the terminal device characteristic value list, it is determined that the terminal device is not bound to the email account, and it is determined that the terminal device has not passed the authentication.

3. The method according to any one of claims 1 or 2, characterized in that: The method further comprises: If the number of times the access password authentication fails exceeds a first preset number, or the number of times the email client is logged into through the email account within a target time period exceeds a second preset number, it is determined that there is a security risk in the email account; and the email client is set to enable enhanced authentication mode.

4. The method according to claim 1, characterized in that: Before obtaining the data sent by the email client, the method further includes implementing the registration of the email client on the server by the following method: Receiving the email account sent by the email client, wherein the email account is sent after the email client binds the email account to the terminal device; Query the mobile phone number corresponding to the email account and send a text message verification code to the mobile phone number; After receiving the SMS verification code returned by the email client, sending the device key to the email client; Receive a message authentication code of the access password and a characteristic value of the terminal device sent by the email client, wherein the message authentication code is calculated based on the device key.

5. The method according to claim 4, characterized in that The characteristic value of the terminal device is obtained by the mail client calculating the hardware information of the terminal device and the operating system information of the terminal device using the SM3 algorithm; The message authentication code is obtained by the email client calculating the access password based on the device key using the SM3-HMAC algorithm.

6. An electronic device comprising: A processor and a memory storing a program, wherein the program comprises instructions, which, when executed by the processor, cause the processor to perform the method according to any one of claims 1 to 5.

7. A non-transitory machine-readable medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 5.

8. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor of a computer, the computer is used to cause the computer to execute the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • A method for reinforcing mail system access safety and a mail safety access system

    CN105025009A

  • Password authentication method and system, electronic device and storage medium

    CN113556321A