Login authentication method of mail client and electronic equipment

By obtaining and authenticating the terminal device feature value, email account and access password of the mail client, using the salt value algorithm and SM3-HMAC algorithm, the problem of simple access passwords and cumbersome generation process when users log in is solved, improving security and user experience .

CN119232503AActive Publication Date: 2024-12-31BEIJING EETRUST TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

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

Smart Images

  • Figure CN119232503A_ABST
    Figure CN119232503A_ABST
Patent Text Reader

Abstract

The invention relates to a login authentication method of a mail client and electronic equipment. The method comprises the following steps: acquiring the following data sent by a mail client: a characteristic value of terminal equipment running the mail client, a mailbox account used for logging in the mail client, and a first salt value of an access password, the first salt value is obtained by calculating a message authentication code of the access password by the mail client side by using a random number obtained from the server side by adopting a salt value algorithm; and authenticating the terminal equipment by using the feature value, authenticating the access password by using the first salt value, and authenticating the mailbox account. According to the method and the device, the technical problems that an access password used by a user when logging in a mail client is relatively simple and has security risks, and an existing access password generation process is relatively tedious are solved.
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 passwords used by users when logging into the email client are generally simple, which poses a security risk. In addition, in the prior art, the administrator generates an access password (i.e., initializes the access password) after entering the user information in the email system, and then informs the user of the access password via SMS or phone. This process is cumbersome for both the administrator and the user, and causes a lot of inconvenience during use.

[0003] Currently, no effective solution has 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 problem that the access password used by the user when logging into the email client is relatively simple, which poses a security risk, and the existing access password generation process is relatively complicated.

[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.

[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 has passed; if the email account does not exist in the email account list, determining that the email account authentication has failed.

[0007] Optionally, the terminal device is authenticated using a characteristic value, including: when the email account authentication is successful, searching whether there is a characteristic value in a 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 successful; 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: when the email account authentication passes, 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 passes; if the first salt value and the second salt value are different, determining that the access password authentication fails.

[0009] Optionally, the above method also includes: if the number of access password authentication failures exceeds a first preset number, or the number of email client logins through the email account within the target time period exceeds a second preset number, determining that the email account has a security risk; 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 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 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 a 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 information of the running operating system; 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, there is also provided an electronic device, including: a processor, and a memory 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 also 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, which is used to enable the computer to execute the above method when the computer program is executed by a processor of the computer.

[0015] Beneficial effects of the embodiments of the present application: In an embodiment of the present application, the following data sent by the email client is obtained: 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 use a random number obtained from a server to perform a message authentication code on the access password; 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. 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 technical effect of effectively intercepting potential risks during the email client login process and improving the security of the email client login is achieved. 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 an administrator, which simplifies the generation process of the access password and improves the user experience.

[0016] 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

[0017] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following briefly introduces the drawings required for use in the embodiments or the prior art descriptions. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other embodiments can be obtained based on these drawings without creative work.

[0018] Figure 1 is a flow chart of a login authentication method of an email client according to an embodiment of the present application; Figure 2 It is a flowchart of a method for implementing registration of an email client on a server according to an embodiment of the present application; Figure 3 It is a structural block diagram of a login authentication device of an email client according to an embodiment of the present application; Figure 4 Schematic diagram of the structure of the electronic device of this embodiment. DETAILED DESCRIPTION

[0019] Embodiments of the present embodiment will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present embodiment are shown in the accompanying drawings, it should be understood that the present embodiment can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein, which are instead provided for a more thorough and complete understanding of the present embodiment. It should be understood that the drawings and embodiments of the present embodiment are only for exemplary purposes and are not intended to limit the scope of protection of the present embodiment.

[0020] In the related art, the access password used by the user when logging into the email client is relatively simple, which poses a security risk. In addition, in the prior art, the administrator generates an access password (i.e., initializes the access password) after entering the user information in the email system, and then informs the user of the access password via SMS or phone. This process is cumbersome for both the administrator and the user, and there are many inconveniences during use. In order to solve this problem, a relevant solution is provided in the embodiments of the present application, which is described in detail below.

[0021] Figure 1 is a flowchart of a login authentication method for an email client according to an embodiment of the present application, such as Figure 1 As shown, the method comprises the following steps: Step S102, obtaining 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 a message authentication code for the access password.

[0022] 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 is a flow chart of a method for implementing registration of an email client on a server according to an embodiment of the present application. Figure 2 As shown, the method comprises the following steps: Step S202, 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.

[0023] First, the user enters the email account in the email client and clicks Next to bind the terminal device and the email account (that is, to list the terminal device as a trusted terminal device). Then, the email client sends the email account to the server. The terminal device is a computer device used to run the email client.

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

[0025] 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 queried mobile phone number. After the user receives the text message verification code, enter the text message verification code in the email client and click Next to proceed with the text message verification.

[0026] Step S206: after receiving the SMS verification code returned by the email client, send the device key to the email client.

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

[0028] Step S208, receiving 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.

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

[0030] 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 through the SM3-HMAC algorithm (the device key is used as the key of the algorithm).

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

[0032] 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 mail client.

[0033] In an embodiment of the present application, when the mail client is started, it is initialized and the hardware information of the terminal device and the operating system system information are collected. The hardware information includes but is not limited to the model of the central processing unit (CPU) of the terminal device, the hard disk serial number and the graphics card serial number. The operating system system information is information such as the operating system version.

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

[0035] 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.

[0036] The above describes the process of registering the email client on the server. Now let’s go back to the login authentication step.

[0037] When executing step S102, after the user enters the email account and access password for logging into the email client, he clicks on authentication. The email client obtains the access password and first uses the SM3-HMAC algorithm mentioned above (using the device key as the key of the algorithm) to calculate the message authentication code (H value) of the access password.

[0038] Then, the email client obtains the authentication random number from the server, and uses the salt value algorithm to calculate the salt value C1 (i.e., the first salt value) of the message authentication code of the access password. The first salt value C1 is calculated by the email client using the random number obtained from the server as the salt and adding salt to the message authentication code (H value) of the access password.

[0039] Salt algorithm, also known as salting algorithm, refers to a security measure used in the password storage process. Salting algorithm refers to adding random data (i.e. salt) to the original password before the password is hashed, and then hashing the mixed string. This can increase the security of the password because even if two users choose the same password, as long as the salt used is different, the final hash value generated will be different. The characteristic of salt algorithm is that the value calculated for the same access password is different each time because random numbers are involved in the calculation.

[0040] 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.

[0041] Step S104, using the characteristic value to authenticate the terminal device, using the first salt value to authenticate the access password, and authenticating the email account.

[0042] The above-mentioned technical solution provided in the embodiment of the present application realizes the technical effect of effectively intercepting potential risks in the process of logging into the email client, improving the security of the email client login, by respectively authenticating the email account, access password and terminal device running the email client used to log in to the email client, and 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 generation process of the access password and improves the user experience.

[0043] 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: query whether there is an email account in the email account list stored in the database; if the email account exists in the email account list, determine that the email account authentication has passed; if the email account does not exist in the email account list, determine that the email account authentication has not passed.

[0044] In the embodiment of the present application, a mailbox account list can be maintained, and the mailbox account list is used to store the mailbox accounts that have successfully logged into the mail client. When the mailbox account entered by the user needs to be verified, the server only needs to query from the mailbox account list whether the mailbox account entered by the user exists. If it exists, the mailbox account authentication is passed; if it does not exist, the mailbox account authentication fails, indicating that the mailbox account has a security risk.

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

[0046] 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 successful, 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 successful; 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.

[0047] In an embodiment of the present application, when registering an email client on the server, the characteristic value of the terminal device is associated with the email account (i.e., one email account corresponds to one characteristic value list, and one or more characteristic values ​​exist in the characteristic value list). When verifying the terminal device, a search is performed on the characteristic value list corresponding to the email account to check whether the requested characteristic value is in the characteristic value list. If so, it is determined that the terminal device has been bound to the email account and the terminal device has been authenticated; otherwise, it is determined that the terminal device has not been bound to the email account and the terminal device has not been authenticated.

[0048] Through the above technical solution, the terminal device running the email client can be authenticated, which improves the security of the email client login.

[0049] 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: when the email account authentication passes, search for the message authentication code of the access password corresponding to the email account; use the salt value algorithm to calculate using a random number and the message authentication code found from the server to obtain a 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 passes; if the first salt value and the second salt value are different, determine that the access password authentication fails.

[0050] Since the salt value is calculated based on the H value of the access password, the access password can be authenticated by the salt value. When authenticating the access password, first find the H value corresponding to the email account (when the email client registers on the server, the H value is sent by the email client to the server). The server uses the found H value and the authentication random number (the same as the authentication random number obtained when the email client requests), and uses the same SM3-HMAC algorithm as the client to calculate the salt value of the H value to obtain the second salt value C2. Then compare the first salt value C1 and the second salt value C2 (the first salt value C1 is calculated by the email client and then sent to the server, and the second salt value C2 is calculated by the server). If the first salt value C1 and the second salt value C2 are the same, the access password authentication is passed, otherwise, the access password authentication fails.

[0051] 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.

[0052] 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 in 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.

[0053] In an embodiment of the present application, the server analyzes whether the user's email account has security risks by using the AI ​​data big model. For example, if there are multiple failed login records for the same email account, it means that when using the email account to log in to the email client, the user has entered the wrong access password corresponding to the email account multiple times (that is, the access password has failed to pass the authentication multiple times). In this case, it means that the email account has security risks.

[0054] 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.

[0055] Once it is determined that a certain email account poses a security risk, set the email client to enable enhanced authentication mode. For example, users are required to authenticate via a text message verification code. Only after the authentication is passed can they log in to the email client using the email account with the security risk.

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

[0057] 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 an email client login authentication device, such as Figure 3 As shown, the device comprises: The acquisition module 30 is configured to acquire 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 using a random number obtained from a server to calculate a message authentication code of the access password.

[0058] 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.

[0059] 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 and improving the security of the email client login by authenticating the email account, access password and terminal device running the email client respectively.

[0060] 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.

[0061] The embodiment of the present application also provides an electronic device, comprising: at least one processor; and a memory connected to the at least one processor in communication. The memory stores a computer program executable by the at least one processor, and the computer program is used to enable the electronic device to perform the method of the embodiment of the present application when executed by the at least one processor.

[0062] An embodiment of the present application also 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.

[0063] The embodiment of the present application also 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.

[0064] refer to Figure 4 , the structural block diagram of the electronic device that can be used as the server or client of the embodiment of the present application will now be described, which is an example of the 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 equipment, such as laptop computers, desktop computers, workbenches, 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 only examples, and are not intended to limit the implementation of the present application described and / or required herein.

[0065] 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 to a random access memory (RAM) 403. In RAM 403, various programs and data required for the operation of the electronic device can also be stored. 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.

[0066] Multiple components in 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 that can input information to the electronic device, and the input unit 406 can receive input digital or character information, and generate key signal input related to user settings and / or function control of the electronic device. The output unit 407 can be any type of device that can present 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 disk, an optical disk. The communication unit 409 allows the electronic device to exchange information / data with other devices through 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.

[0067] The computing unit 401 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a CPU, a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 401 performs the various methods and processes described above. For example, in some embodiments, the method embodiments of the present application may be implemented as a computer program, which is tangibly contained in a machine-readable medium, such as a storage unit 408. In some embodiments, part or all of the computer program may be loaded and / or installed on an electronic device via ROM 402 and / or communication unit 409. In some embodiments, the computing unit 401 may be configured to perform the above method in any other appropriate manner (e.g., by means of firmware).

[0068] The computer program for implementing the method of the embodiment 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, partially on the machine as a stand-alone software package and partially on a remote machine, or entirely on a remote machine or server.

[0069] In the context of the 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, device, or apparatus. 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, device, or device, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, 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), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0070] 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 "based at least in part 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 otherwise clearly indicated in the context, it should be understood as "one or more".

[0071] 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 the present 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 the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

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

[0073] 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 refer 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 refer to the partial description of the method embodiment.

[0074] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of patent protection. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the scope of protection of the present application. Therefore, the scope of protection of the present application shall be subject to the attached 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; The terminal device is authenticated using the characteristic value, and the access password and the email account are authenticated using the first salt value.

2. The method according to claim 1, characterized in that 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, it is determined that the email account authentication has failed.

3. The method according to claim 2, 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 the terminal device authentication is determined to be successful; 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 been authenticated.

4. The method according to claim 2, characterized in that: Authenticating the access password using the first salt value includes: If the email account authentication is successful, searching for a message authentication code of the access password corresponding to the email account; The salt value algorithm is used 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 is successful; If the first salt value and the second salt value are different, it is determined that the access password authentication fails.

5. The method according to any one of claims 1 to 4, 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.

6. 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.

7. The method according to claim 6, 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.

8. 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 7.

9. 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 7.

10. 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 7.

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

  • Secure login method and device of terminal equipment and nonvolatile storage medium

    CN115883104A

  • Preventing Password Cracking Based on Combined Server / Client Salted Passwords

    US20240267210A1