A login authentication method, system and medium based on trusted execution environment

By adopting the multi-factor login authentication combination in the trusted execution environment of BMC, the problem of insufficient security of existing BMC identity authentication is solved, and higher authentication security and attack prevention capabilities are achieved.

CN119203095BActive Publication Date: 2025-02-25UNIV OF SCI & TECH BEIJING
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411699380.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-26
Publication Date
2025-02-25
Estimated Expiration
2044-11-26

AI Technical Summary

Technical Problem

The existing BMC identity authentication methods are weak in security and are easily attacked, especially the traditional methods of user names and passwords are easily stolen, resulting in the server being attacked.

Method used

Using a login authentication method based on a trusted execution environment, establish a secure channel with the client application through the BMC public key, initiate a login authentication request with the user name, and perform multi-factor login authentication in the trusted execution environment, including password authentication, USBkey, How to combine digital certificates and dynamic passwords.

Benefits of technology

Improve the security of BMC identity authentication, prevent eavesdropping attacks and brute-force cracking, and ensure the confidentiality of the identity authentication process and the security of the overall authentication process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present application provides a login authentication method, system and medium based on a trusted execution environment, which belongs to the field of information security technology. It includes: the user end uses the user name to send a login authentication request to the client application; the client application forwards the login authentication request to the security monitor; the security monitor switches the trusted execution environment; the authentication policy controller reads the corresponding user authentication information and authentication policy from the secure storage backend according to the user name; the security monitor sends the target multi-factor login authentication combination method to the client application; the user end inputs the multi-factor authentication information according to the target multi-factor login authentication combination method; the client application sends the multi-factor authentication information to the security monitor; the security monitor switches to the trusted execution environment; the authentication policy verifier determines whether the login authentication is successful based on the multi-factor authentication information. In this way, multi-factor authentication is performed in a trusted execution environment to improve the security of BMC authentication.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of information security technology, and in particular to a login authentication method, system and medium based on a trusted execution environment. Background Art

[0002] The Baseboard Management Controller (BMC) is a small operating system independent of the server system. It is a chip integrated on the motherboard and a firmware system with an independent IP. When accessing the BMC control page through the web (Web) terminal, the user needs to log in before operation. Most application systems use the traditional method of user name and password to authenticate the BMC, which has weak security. If the password is stolen, it is easy to cause the server to be attacked. Summary of the invention

[0003] In order to solve the above technical problems, the present application provides a login authentication method, system and medium based on a trusted execution environment.

[0004] In a first aspect, the present application provides a login authentication method based on a trusted execution environment, the method comprising:

[0005] The user end obtains the BMC public key from the BMC, obtains the root certificate from the server certificate center, verifies the legitimacy of the BMC public key based on the root certificate, and if it is legitimate, uses the BMC public key to establish a secure channel with the client application; uses the user name to initiate a login authentication request to the client application; the BMC includes a trusted execution environment and a common execution environment, the common execution environment includes the client application; the trusted execution environment includes a trusted application, and the trusted application includes an authentication policy controller and an authentication policy verifier;

[0006] The client application forwards the login authentication request to the security monitor;

[0007] The security monitor switches to the trusted execution environment and forwards the login authentication request to the authentication policy controller;

[0008] The authentication policy controller reads the corresponding user identity authentication information and authentication policy from the secure storage backend according to the user name, determines the target multi-factor login authentication combination mode according to the read authentication policy, the security monitor forwards the target multi-factor login authentication combination mode to the client application, and the security monitor switches to the common execution environment;

[0009] The client application sends the target multi-factor login authentication combination mode to the user terminal;

[0010] The user terminal sends corresponding multi-factor identity authentication information to the client application according to the target multi-factor login authentication combination mode;

[0011] The client application forwards the multi-factor authentication information to the security monitor;

[0012] The security monitor switches to the trusted execution environment and sends the multi-factor identity authentication information to the authentication policy verifier;

[0013] The authentication policy verifier determines whether the login authentication is successful based on the multi-factor authentication information and the user authentication information read by the authentication policy controller; if so, the login is allowed, and if not, the login is denied.

[0014] In a second aspect, the present application provides a login authentication system based on a trusted execution environment, the login authentication system based on a trusted execution environment comprising:

[0015] The user end is used to obtain the BMC public key from the BMC, obtain the root certificate from the server certificate center, verify the legitimacy of the BMC public key according to the root certificate, and if it is legal, use the BMC public key to establish a secure channel with the client application; use the user name to initiate a login authentication request to the client application; the BMC includes a trusted execution environment and a common execution environment, the common execution environment includes the client application; the trusted execution environment includes a trusted application, and the trusted application includes an authentication policy controller and an authentication policy verifier;

[0016] The client application is used to forward the login authentication request to the security monitor;

[0017] The security monitor is used to switch to the trusted execution environment and forward the login authentication request to the authentication policy controller;

[0018] The authentication policy controller is used to read the corresponding user identity authentication information and authentication policy from the secure storage backend according to the user name, and determine the target multi-factor login authentication combination mode according to the read authentication policy;

[0019] The security monitor is used to forward the target multi-factor login authentication combination mode to the client application;

[0020] The security monitor is used to switch to the normal execution environment;

[0021] The client application is further used to send the target multi-factor login authentication combination mode to the user terminal;

[0022] The user terminal is further used to send corresponding multi-factor identity authentication information to the client application according to the target multi-factor login authentication combination mode;

[0023] The client application is further used to forward the multi-factor identity authentication information to the security monitor;

[0024] The security monitor is further configured to switch to the trusted execution environment and send the multi-factor identity authentication information to the authentication policy verifier;

[0025] The authentication policy verifier is further used to determine whether the login authentication is successful based on the multi-factor identity authentication information and the user identity authentication information read by the authentication policy controller; if so, the login is allowed, and if not, the login is denied.

[0026] In a third aspect, the present application provides a computer-readable storage medium storing a computer program, which, when running on a processor, executes the login authentication method based on a trusted execution environment provided in the first aspect.

[0027] The above-mentioned login authentication method based on the trusted execution environment provided by this application, the user end uses the user name to send a login authentication request to the client application; the client application forwards the login authentication request to the security monitor; the security monitor switches the trusted execution environment; the authentication policy controller reads the corresponding user authentication information and authentication policy from the secure storage backend according to the user name; determines the target multi-factor login authentication combination method according to the read authentication policy; forwards the target multi-factor login authentication combination method to the user end through the security monitor and the client application; the user end inputs the multi-factor authentication information according to the target multi-factor login authentication combination method; forwards the multi-factor authentication information to the security monitor through the client application, and the security monitor switches to the trusted execution environment; the security monitor forwards the multi-factor authentication information to the authentication policy verifier; the authentication policy verifier determines whether the login authentication is successful based on the multi-factor authentication information and the user authentication information read by the authentication policy controller. In this way, multi-factor authentication is performed in a trusted execution environment, the security of BMC authentication is improved, and the server is prevented from being attacked. Placing the authentication process in the trusted execution environment of the BMC makes the authentication process confidential, improves the security of the overall authentication process, and prevents eavesdropping attacks and brute force cracking. The authentication policy can also be updated periodically through the remote authentication center, and the user end can also actively update the authentication policy, and the update policy method is flexible. The trusted root key generated by the trusted execution environment is used to encrypt and store user authentication information and authentication policies, which improves confidentiality. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] In order to more clearly illustrate the technical solution of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only illustrate certain embodiments of the present application and should not be regarded as limiting the scope of protection of the present application. In each of the drawings, similar components are numbered similarly.

[0029] Figure 1 A schematic diagram of the structure of a login authentication system based on a trusted execution environment provided by the present application is shown;

[0030] Figure 2 A first flow chart of a login authentication method based on a trusted execution environment provided by the present application is shown;

[0031] Figure 3 A second flow diagram of the login authentication method based on a trusted execution environment provided by the present application is shown;

[0032] Figure 4 A third flow chart of the login authentication method based on a trusted execution environment provided by the present application is shown;

[0033] Figure 5 A fourth flow chart of the login authentication method based on a trusted execution environment provided by the present application is shown;

[0034] Figure 6 A fifth flow chart of a login authentication method based on a trusted execution environment provided by the present application is shown;

[0035] Figure 7 A sixth flow chart of a login authentication method based on a trusted execution environment provided by the present application is shown;

[0036] Figure 8 A seventh flow chart of the login authentication method based on a trusted execution environment provided by the present application is shown. DETAILED DESCRIPTION

[0037] The technical solution in the present application will be clearly and completely described below in conjunction with the drawings in the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments.

[0038] The components of the present application generally described and shown in the drawings herein may be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the present application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present application.

[0039] Hereinafter, the terms "including", "having" and their cognates, which may be used in various embodiments of the present application, are intended only to indicate specific features, numbers, steps, operations, elements, components, or combinations of the foregoing items, and should not be understood as first excluding the existence of one or more other features, numbers, steps, operations, elements, components, or combinations of the foregoing items or adding the possibility of one or more features, numbers, steps, operations, elements, components, or combinations of the foregoing items.

[0040] Furthermore, the terms “first”, “second”, “third”, etc. are merely used for distinguishing descriptions and are not to be understood as indicating or implying relative importance.

[0041] Unless otherwise defined, all terms (including technical terms and scientific terms) used herein have the same meanings as those generally understood by those skilled in the art to which the various embodiments of the present application belong. The terms (such as those defined in generally used dictionaries) will be interpreted as having the same meanings as the contextual meanings in the relevant technical field and will not be interpreted as having idealized meanings or overly formal meanings unless clearly defined in the various embodiments of the present application.

[0042] When accessing the BMC control page through the Web, the user needs to log in before operation. Most application systems use the traditional method of username and password to authenticate the BMC. Dictionary attacks, exhaustive attacks, guessing, social engineering and other means can be used to obtain login passwords. The security is weak. Once the password is stolen, it is easy to cause the server to be attacked, which can easily bypass the BMC defense line, invade the BMC to cause damage, and then control the server, causing serious consequences. Therefore, it is necessary to strengthen the identity authentication protection of the BMC to prevent the theft of usernames and passwords to log in to the BMC.

[0043] Authentication is the process of verifying the identity of a user. A website may be exposed to anyone connected to the Internet. Authentication enables the system to verify whether the user has the authority to access specific resources or perform sensitive operations. During the authentication process, the user needs to provide identity factors for authentication.

[0044] The present application provides a login authentication method based on a trusted execution environment, which carries out the login authentication process in a trusted execution environment, so that the login authentication process is kept confidential. It is combined with a multi-factor login authentication combination method to improve the security of the overall login authentication process and prevent eavesdropping attacks and brute force cracking.

[0045] The login authentication method based on the trusted execution environment can be applied to Figure 1The login authentication system based on the trusted execution environment shown in the figure includes: a user terminal, a login peripheral, a server, a server certificate center, and a remote identity authentication center, wherein the server includes a BMC, a secure storage backend, a one-time programming device (OTP), etc. The BMC includes a central processing unit and a security monitor (SMC), and the BMC is divided into a normal execution environment and a trusted execution environment. The normal execution environment can load a client application (CA), and the trusted execution environment can load a trusted application (TA). For example, a trusted application can include an authentication policy controller and an authentication policy verifier.

[0046] The login authentication method based on the trusted execution environment includes: BMC factory settings stage, BMC initialization stage, BMC authentication settings stage, BMC authentication stage, BMC authentication policy update stage, and BMC authentication information update stage. Exemplarily, the overall BMC authentication process is as follows: First, perform BMC factory settings and deliver the server to the user. When the user terminal communicates with the server, perform BMC initialization settings, and then determine whether the user terminal is logging in for the first time. If it is the first login authentication, perform BMC authentication settings, then perform BMC login authentication, and determine whether the periodic policy update time has arrived or the user terminal actively updates the BMC authentication policy. If the periodic policy update time has arrived or the user terminal actively updates the BMC authentication policy, the BMC authentication policy is updated. In addition, during the login process, determine whether the user terminal has an identity authentication information update operation. If so, update the BMC identity authentication information.

[0047] It is understandable that BMC is usually an ARM chip. ARM chips have supported the trusted execution environment technology since ARMv8. The trusted execution environment technology is considered to be a hardware implementation method for confidential computing. The ARM execution environment is divided into a secure world and a normal world through the trusted execution environment technology. Among them, the execution environment of the normal world is also called the ordinary execution environment (REE), and the execution environment of the secure world is also called the trusted execution environment (TEE). The programs running in the ordinary execution environment are generally BIOS / UEFI system firmware and normal operating systems such as Linux and Windows. There is a special operating system in the trusted execution environment, generally called TEEOS. In the ARMv8 architecture, there are 4 execution levels from EL0 to EL3. Different execution levels have different permissions to achieve secure hierarchical management. Both the normal world and the secure world have EL0 to EL2. EL3 is a security monitor responsible for monitoring and management of the secure world and the normal world. In the normal world, EL0 is various ordinary applications (APP), EL1 is a rich operating system (Rich OS), and EL2 is a hypervisor. In the trusted world, EL0 is various trusted applications (Trusted Services), EL1 is the trusted operating system (TEE OS), and EL2 is the secure partition manager (Secure partition manager). When the flag bit NS is 1, the central processing unit (CPU) provides a normal execution environment. When the flag bit NS is 0, the central processing unit provides a trusted execution environment.

[0048] It can be understood that the secure world is mainly used to store and process critical data, security operations, etc., while the normal world is used to run normal applications and process normal data. The secure world and the normal world communicate and control each other through the security monitor, which is one of the core components of the trusted execution environment security framework. Rich OS generally refers to complex systems such as Linux or Hypervisor with rich applications. TEE OS refers to a system that runs in a trusted execution environment, is relatively small, has specified functions, and has a small attack surface.

[0049] See also Figure 2 , the login authentication methods based on the trusted execution environment include:

[0050] Step S201, the user end obtains the BMC public key from the BMC, obtains the root certificate from the server certificate center, verifies the legitimacy of the BMC public key based on the root certificate, and if it is legitimate, uses the BMC public key to establish a secure channel with the client application; and uses the user name to initiate a login authentication request to the client application.

[0051] In this embodiment, the BMC includes a trusted execution environment and a common execution environment, the common execution environment includes the client application; the trusted execution environment includes a trusted application, and the trusted application includes an authentication policy controller and an authentication policy verifier.

[0052] It can be understood that the user end mainly performs identity authentication, authentication information update, and authentication policy update operations. The user end can communicate with the login peripheral, server certificate center, remote identity authentication center, and BMC. The user end establishes a secure channel with the BMC through the BMC public key to ensure that the information transmission during the login process, identity authentication information update, and authentication policy update process is safe and will not be stolen by malicious adversaries. The user end communicates with the remote identity authentication center to negotiate the update of authentication information and implement periodic updates of authentication information. The user end can also communicate with the server certificate center to verify the legitimacy of the BMC public key through the root certificate. The user end communicates with the corresponding login peripheral to obtain the USBkey and dynamic password, and generates the corresponding identity authentication information for identity authentication during BMC login. The login peripheral is mainly composed of USBkey, dynamic password, etc., which is used to provide the user end with the corresponding identity authentication information.

[0053] Step S202: the client application forwards the login authentication request to a security monitor.

[0054] It can be understood that BMC mainly includes client applications and trusted applications. Among them, client applications (run in the common environment of the BMC system, and trusted applications run in the BMC trusted execution environment. Client applications are mainly responsible for information forwarding between the user end and the trusted application. The communication between the client application and the trusted application needs to be trapped in the security monitor first, and then the security monitor switches the environment, so as to ensure the security of the login authentication process with the help of the security features of the trusted execution environment.

[0055] Step S203: the security monitor switches to the trusted execution environment and forwards the login authentication request to the authentication policy controller.

[0056] It can be understood that the authentication policy controller is used to load authentication policies and identity authentication information, and is also used to update authentication policies and identity authentication information. The authentication policy verifier is used to verify the legitimacy of user identity authentication information. During the startup process of the trusted application, the trusted root of the trusted execution environment is used to generate an encryption root key. The encryption root key is always in the trusted execution environment and cannot be read by the ordinary execution environment. Among them, the authentication policy and identity authentication information are encrypted and stored in the secure storage backend through the encryption root key. Only when the trusted application is running, it is loaded by the authentication policy controller. In this way, the authentication policy and identity authentication information and other identity authentication information are always in a safe state. The client application can also communicate with the remote authentication center regularly to update the BMC's authentication policy.

[0057] Step S204, the authentication policy controller reads the corresponding user identity authentication information and authentication policy from the secure storage backend according to the user name, determines the target multi-factor login authentication combination method according to the read authentication policy, the security monitor forwards the target multi-factor login authentication combination method to the client application, and the security monitor switches to the normal execution environment.

[0058] In this embodiment, multi-factor authentication technology is used to combine authentication methods such as password authentication, USB key, digital certificate and dynamic password. For example, any combination of two or three, or all four methods can be used to form at least two or more multi-factor login authentication combination methods to improve the security strength of identity authentication. Exemplarily, the authentication strategy is a combination of at least two of the methods of password authentication, USB key, digital certificate and dynamic password.

[0059] Step S205: the client application sends the target multi-factor login authentication combination to the user terminal.

[0060] It can be understood that, in a normal execution environment, the client application sends the target multi-factor login authentication combination to the user terminal.

[0061] Step S206: the user terminal sends corresponding multi-factor identity authentication information to the client application according to the target multi-factor login authentication combination mode.

[0062] Exemplarily, the user terminal prompts a target multi-factor login authentication combination method, the user terminal receives a user input operation, determines corresponding multi-factor identity authentication information according to the user input operation, and the user terminal sends the multi-factor identity authentication information to the client application.

[0063] Step S207: the client application forwards the multi-factor identity authentication information to the security monitor.

[0064] It can be understood that the communication between the client application and the authentication policy validator needs to be relayed through the security monitor to ensure the security of the login authentication process through the security features of the trusted execution environment.

[0065] Step S208: the security monitor switches to the trusted execution environment and sends the multi-factor identity authentication information to the authentication policy verifier.

[0066] Step S209: the authentication policy verifier determines whether the login authentication is successful based on the multi-factor authentication information and the user authentication information read by the authentication policy controller; if so, the login is allowed; if not, the login is denied.

[0067] The above steps S201-S209 correspond to the BMC authentication stage. For example, the user end obtains the BMC public key in the BMC certificate, verifies the legitimacy of the BMC public key through the root certificate of the server certificate center, and then uses the BMC public key to establish a secure channel with the client application. The user end uses the user name to initiate a login authentication request to the client application. The client application forwards the authentication request to the security monitor, and the security monitor switches to the trusted execution environment. Then the authentication policy controller reads the corresponding user identity authentication information and authentication policy from the secure storage backend according to the user name. The authentication policy controller determines the target multi-factor login authentication method of the user end, sends the target multi-factor login authentication method to the client application through the security monitor, and the security monitor switches to the normal execution environment. The client application sends the target multi-factor login authentication method to the user end. The user end enters the corresponding multi-factor identity authentication information according to the prompted target multi-factor login authentication method. The multi-factor identity authentication information is sent to the client application. The client application switches the execution environment to the trusted execution environment through the security monitor, and then sends the multi-factor identity authentication information to the authentication policy verifier. The authentication policy verifier determines whether the user end has successfully logged in based on the corresponding user identity authentication information. If the login authentication is successful, the login is allowed, otherwise the login is denied.

[0068] In this embodiment, the identity authentication process is a confidential process, and the multi-factor identity authentication process for login authentication is placed in a trusted execution environment to improve the confidentiality of the identity authentication process and prevent private data from being stolen. If the user identity authentication information in the BMC is stored in a common environment, there is a risk of information leakage. Therefore, the user identity authentication information is encrypted and stored using a trusted key in a trusted execution environment to improve the security of the user identity authentication information.

[0069] See also Figure 3 , the login authentication method based on the trusted execution environment also includes:

[0070] Step S301, the server certificate center generates a root private key, burns the BMC private key certificate to a one-time programming device, signs the BMC public key with the root private key to obtain a BMC public key certificate, and writes the BMC public key certificate into the BMC firmware.

[0071] In this embodiment, the production process of generating the BMC private key is safe. After the BMC private key is generated and burned into the one-time programming device, the BMC private key will be safely deleted.

[0072] In this embodiment, the server certificate center holds the root certificate and the application signature private key, and signs the BMC public key through the root private key. The application signature private key can sign the BMC's client application and trusted application.

[0073] Step S302: The trusted application sets the one-time programming device as a trusted security peripheral to ensure that only the trusted application has read permission on the one-time programming device.

[0074] It can be understood that the one-time programming device stores the BMC private key, which improves the security of the BMC private key.

[0075] Step S303: the server certificate center signs the client application and the trusted application using an application signature private key, and writes the signed client application and the signed trusted application into the BMC flash memory.

[0076] The above steps S301-S303 correspond to the BMC factory setting stage. Thus, the security of relevant data can be improved through the relevant processing in the BMC factory setting stage.

[0077] See also Figure 4 , the login authentication method based on the trusted execution environment also includes:

[0078] Step S401: the security monitor starts the trusted execution environment.

[0079] It can be understood that the security monitor starts the trusted execution environment and ensures security through the security characteristics of the trusted execution environment.

[0080] Step S402: The BMC loads the signed client application and the signed trusted application from the BMC flash memory, and uses the application signature private key to verify the signed client application and the signed trusted application; loads and runs the client application that has passed the signature verification in the common execution environment, and loads and runs the trusted application that has passed the signature verification in the trusted execution environment; generates an encryption root key using the trusted root of the trusted execution environment; and the encryption root key is in the trusted execution environment.

[0081] It can be understood that the encryption root key is in the trusted execution environment and cannot be read by the ordinary execution environment. The authentication strategy and identity authentication information in the secure storage backend are encrypted and stored by the encryption root key, and the corresponding confidential information cannot be stolen from the outside.

[0082] Step S403, the trusted application is communicated with the secure storage backend, obtains corresponding user identity authentication information and authentication policy from the secure storage backend, and uses the encryption root key to decrypt the obtained user identity authentication information and authentication policy; wherein the user identity authentication information and authentication policy of the secure storage backend are encrypted and stored using the encryption root key.

[0083] The above steps S401 to S403 correspond to the BMC initialization phase, and the security of the corresponding user identity authentication information and authentication policy can be improved through the BMC initialization phase.

[0084] See also Figure 5 , the login authentication method based on the trusted execution environment also includes:

[0085] Step S501: the BMC determines whether it is the first time to run, and if so, prompts the user to set a multi-factor login authentication combination.

[0086] In this embodiment, the user terminal establishes a secure channel with the BMC through the network. The user can communicate with the BMC through a Web application (i.e., the user terminal) running on a PC, server, handheld terminal, or other device. The user terminal obtains the BMC public key, and the user terminal verifies the legitimacy of the BMC public key through the root certificate of the server certificate center. The BMC public key is used to establish a secure channel with the client application, and then the BMC determines whether it is running for the first time. If so, it prompts the user terminal to set a multi-factor login authentication combination method.

[0087] Step S502: the authentication policy controller sends a plurality of multi-factor login authentication combination modes to the user terminal.

[0088] In this embodiment, the multi-factor login authentication combination includes at least two authentication methods of password authentication, USB key, and digital certificate, wherein the password authentication includes a dynamic password.

[0089] Step S503: the user terminal selects the target multi-factor login authentication combination method from the plurality of multi-factor login authentication combination methods, and sends the target multi-factor login authentication combination method to the client application.

[0090] It can be understood that the multi-factor login authentication combination includes: at least two authentication methods among password authentication, USBkey, digital certificate, and dynamic password. USBkey requires the server manufacturer to set the corresponding public and private keys in the USBkey in advance. Digital certificates are also digital certificates generated by server manufacturers. The user end selects the corresponding multi-factor login authentication combination. For example, the user end sets the number of multi-factors to be used, such as 2. Then select the necessary identity authentication method, such as password authentication must be included in the multi-factor login authentication combination, and further generate a random number of 1-3, and use the random number to select the corresponding authentication method from the remaining three authentication methods, thereby forming the target multi-factor login authentication combination.

[0091] Step S504: the client application sends the target multi-factor login authentication combination to the security monitor.

[0092] Step S505: the security monitor switches to the trusted execution environment.

[0093] Step S506: the authentication policy controller encrypts the target multi-factor login authentication combination mode and the corresponding user identity authentication information respectively by using the encryption root key, and saves them to the secure storage backend.

[0094] The above steps S501 to S506 correspond to the BMC authentication setting stage. Through the BMC authentication setting stage, the authentication policy can be automatically set to improve the security of the authentication policy.

[0095] In this embodiment, there are two updating schemes for the BMC authentication policy: the user end directly updates the authentication policy, and the remote identity authentication center periodically updates the authentication policy. The above two methods can realize flexible updating of the BMC authentication policy, which is explained below.

[0096] See also Figure 6 , the login authentication method based on the trusted execution environment also includes:

[0097] Step S601, when the login authentication is successful, the user terminal sets the number of multi-factors, selects at least 2 of the preset authentication methods from multiple preset authentication methods to form a new authentication strategy, and forwards the new authentication strategy to the client application; the number of preset authentication methods of the new authentication strategy is equal to the number of multi-factors.

[0098] Step S602: the client application forwards the new authentication policy to the security monitor.

[0099] Step S603: the security monitor switches to the trusted execution environment and forwards the new authentication policy to the authentication policy controller.

[0100] Step S604: the authentication policy controller encrypts the new authentication policy using the encryption root key and stores it in the secure storage backend.

[0101] Exemplarily, select the identity authentication method that must be included in the authentication policy, that is, select the necessary identity authentication method in the multi-factor login authentication combination method. For example, multi-factor authentication must include password authentication. Further, generate a random number of 1-3, select the corresponding authentication method from the remaining three authentication methods, and the number of selected authentication methods is the same as the random number, so as to form a new authentication policy, that is, a new multi-factor login authentication combination method. If the selected multi-factor login authentication combination method is the same as the last time, then re-execute the multi-factor authentication selection process until it is different from the last multi-factor login authentication combination method. Then forward the new authentication policy (i.e., the new multi-factor login authentication combination method) to the client application. The client application forwards the new authentication policy to the security monitor, the security monitor switches to the trusted execution environment, and then the authentication policy controller encrypts the new authentication policy with the encryption root key and saves it in the secure storage backend.

[0102] The above steps S601 to S604 correspond to an implementation process of the BMC authentication policy update phase. Through the BMC authentication policy update phase, the authentication policy can be dynamically adjusted to improve the security of the authentication policy.

[0103] See also Figure 7 , the login authentication method based on the trusted execution environment also includes:

[0104] Step S701, the authentication policy controller determines whether the authentication policy update cycle has arrived, and if so, controls the client application to initiate an authentication policy update request to a remote identity authentication center; the remote identity authentication center includes an authentication policy update module.

[0105] The remote identity authentication center is a trusted center of the user's entire business system and can communicate with the BMC. The remote identity authentication center sets the authentication strategy for the BMC, including different multi-factor authentication combinations such as password authentication, USBkey, digital certificate, and dynamic password. At the same time, it can also communicate with the user end to provide the user end with the latest identity authentication information.

[0106] Step S702, the authentication policy update module sets the number of multi-factors and the necessary identity authentication method, and generates a random number, selects multiple candidate authentication methods other than the necessary identity authentication method from multiple preset authentication methods, and the number of the candidate authentication methods is the same as the random number; the necessary identity authentication method and the multiple candidate authentication methods are determined as the new authentication policy.

[0107] Step S703: the client application forwards the new authentication policy to the security monitor.

[0108] Step S704: the security monitor switches to the trusted execution environment.

[0109] Step S705: The authentication policy controller encrypts the new authentication policy using the encryption root key and stores it in the secure storage backend.

[0110] Exemplarily, the remote identity authentication center periodically updates the authentication policy, and the authentication policy controller of the BMC determines whether the cycle time of the authentication policy has been reached. If the periodic policy update time has been reached, an authentication policy update request is initiated to the remote identity authentication center through the client application of the BMC. The authentication policy update module of the remote identity authentication center sets a new authentication policy. It can be understood that at least two authentication methods among password authentication, USBkey, digital certificate and dynamic password can be combined into a new multi-factor login policy, and the user end can apply for authentication functions such as password authentication, USBkey, digital certificate and dynamic password in advance. The authentication policy update module sets the number of multi-factors to be adopted, such as the number of multi-factors is 2. Then select the identity authentication method that must be included. For example, the new authentication policy must include password authentication, and further generate a random number of 1-3, and use the random number to select the corresponding number of authentication methods from the remaining three authentication methods, thereby forming a new authentication policy, that is, forming a new multi-factor login authentication combination method. If the new multi-factor login authentication combination method selected is the same as the last time, then the multi-factor authentication selection process is re-executed until it is different from the last multi-factor login authentication combination method. The new authentication policy is then forwarded to the client application. The client application forwards the new authentication policy to the security monitor, which switches to the trusted execution environment. The authentication policy controller then encrypts the new authentication policy with the encryption root key and saves it in the secure storage backend.

[0111] The above steps S701 to S705 correspond to another implementation process of the BMC authentication policy update phase. Through the BMC authentication policy update phase, the authentication policy can be dynamically adjusted to improve the security of the authentication policy.

[0112] In this embodiment, the authentication policy may be a multi-factor login authentication combination including at least two of a password, a USB key, a digital certificate, and a dynamic password.

[0113] See also Figure 8 , the login authentication method based on the trusted execution environment also includes:

[0114] Step S801: When the login authentication is successful, the user terminal updates the password through the BMC to obtain a new password.

[0115] Step S802: the user terminal establishes a secure channel with the remote identity authentication center and initiates a request to update the USB key and the digital certificate.

[0116] Step S803: When the remote identity authentication center determines that the user terminal is legitimate, it sends a new USB key and a new digital certificate to the user terminal.

[0117] In this embodiment, the remote identity authentication center includes an authentication information update module, and the new USB key and the new digital certificate are issued through the authentication information update module.

[0118] Step S804: the user terminal initiates an authentication information update request to the BMC, and forwards the new password, the new USB key and the new digital certificate to the client application.

[0119] Step S805: the client application forwards the new password, the new USB key and the new digital certificate to the security monitor.

[0120] Step S806: the security monitor switches to the trusted execution environment, encrypts the new password, the new USB key and the new digital certificate by using the encryption root key, and stores them in the secure storage backend.

[0121] Exemplarily, the user end can update the authentication information. For example, the user end can update the password by itself, and the user end can also obtain a new USB key and digital certificate from the remote identity authentication center. The dynamic password does not need to be updated because it changes in real time. If the user end updates the password, it can log in to the BMC directly to update it. If the USB key or digital certificate is updated, the user end first establishes a secure channel with the remote identity authentication center and initiates an update request for the USB key and digital certificate. Then the remote identity authentication center determines the legitimacy of the user end and issues a new USB key and digital certificate. If the identity authentication is successful, the user end initiates an authentication information update request and forwards the new identity authentication information (password, USB key and digital certificate) to the client application of the BMC. The client application forwards the new authentication information to the security monitor, the security monitor switches to the trusted execution environment, and then encrypts the new authentication information with the encryption root key and saves it in the secure storage backend.

[0122] The above steps S801 to S806 correspond to the BMC authentication information update phase. Through the BMC authentication information update phase, the user identity authentication information can be dynamically adjusted to improve the security of the user identity authentication information.

[0123] The login authentication method based on the trusted execution environment provided in this embodiment is as follows: the user end sends a login authentication request to the client application using the user name; the client application forwards the login authentication request to the security monitor; the security monitor switches the trusted execution environment; the authentication policy controller reads the corresponding user authentication information and authentication policy from the secure storage backend according to the user name; the target multi-factor login authentication combination method is determined according to the authentication policy read; the target multi-factor login authentication combination method is forwarded to the user end through the security monitor and the client application; the user end inputs the multi-factor authentication information according to the target multi-factor login authentication combination method; the multi-factor authentication information is forwarded to the security monitor through the client application, and the security monitor switches to the trusted execution environment; the security monitor forwards the multi-factor authentication information to the authentication policy verifier; the authentication policy verifier determines whether the login authentication is successful according to the multi-factor authentication information and the user authentication information read by the authentication policy controller. In this way, multi-factor authentication is performed in the trusted execution environment, the security of BMC authentication is improved, and the server is prevented from being attacked. Placing the authentication process in the trusted execution environment of the BMC makes the authentication process confidential, improves the security of the overall authentication process, and prevents eavesdropping attacks and brute force cracking. The authentication policy can also be updated periodically through the remote authentication center, and the user end can also actively update the authentication policy, and the update policy method is flexible. The trusted root key generated by the trusted execution environment is used to encrypt and store user authentication information and authentication policies, which improves confidentiality.

[0124] In addition, the present application provides a login authentication system based on a trusted execution environment.

[0125] like Figure 1 As shown, the login authentication system based on the trusted execution environment includes:

[0126] The user end is used to obtain the BMC public key from the BMC, obtain the root certificate from the server certificate center, verify the legitimacy of the BMC public key according to the root certificate, and if it is legal, use the BMC public key to establish a secure channel with the client application; use the user name to initiate a login authentication request to the client application; the BMC includes a trusted execution environment and a common execution environment, the common execution environment includes the client application; the trusted execution environment includes a trusted application, and the trusted application includes an authentication policy controller and an authentication policy verifier;

[0127] The client application is used to forward the login authentication request to the security monitor;

[0128] The security monitor is used to switch to the trusted execution environment and forward the login authentication request to the authentication policy controller;

[0129] The authentication policy controller is used to read the corresponding user identity authentication information and authentication policy from the secure storage backend according to the user name, and determine the target multi-factor login authentication combination mode according to the read authentication policy;

[0130] The security monitor is used to forward the target multi-factor login authentication combination mode to the client application;

[0131] The security monitor is used to switch to the normal execution environment;

[0132] The client application is further used to send the target multi-factor login authentication combination mode to the user terminal;

[0133] The user terminal is further used to send corresponding multi-factor identity authentication information to the client application according to the target multi-factor login authentication combination mode;

[0134] The client application is further used to forward the multi-factor identity authentication information to the security monitor;

[0135] The security monitor is further configured to switch to the trusted execution environment and send the multi-factor identity authentication information to the authentication policy verifier;

[0136] The authentication policy verifier is further used to determine whether the login authentication is successful based on the multi-factor identity authentication information and the user identity authentication information read by the authentication policy controller; if so, the login is allowed, and if not, the login is denied.

[0137] In one embodiment, the system further comprises:

[0138] The server certificate center is used to generate a root private key, burn the BMC private key certificate to a one-time programming device, sign the BMC public key with the root private key to obtain a BMC public key certificate, and write the BMC public key certificate into the BMC firmware;

[0139] The trusted application is used to set the one-time programming device as a trusted security peripheral to ensure that only the trusted application has read permission on the one-time programming device;

[0140] The server certificate center is further used to sign the client application and the trusted application using an application signature private key, and write the signed client application and the signed trusted application into the BMC flash memory.

[0141] The login authentication system based on a trusted execution environment provided in this embodiment can implement the login authentication method based on a trusted execution environment provided in the above embodiments, and will not be described again here to avoid repetition.

[0142] The present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the login authentication method based on a trusted execution environment provided in the above embodiment is implemented.

[0143] In this embodiment, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0144] The computer-readable storage medium provided in this embodiment can implement the login authentication method based on the trusted execution environment provided in Example 1, and will not be described again here to avoid repetition.

[0145] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or terminal including the element.

[0146] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0147] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

Claims

1. A login authentication method based on a trusted execution environment, characterized in that: The method comprises: The user end obtains the BMC public key from the BMC, obtains the root certificate from the server certificate center, verifies the legitimacy of the BMC public key based on the root certificate, and if it is legitimate, uses the BMC public key to establish a secure channel with the client application; uses the user name to initiate a login authentication request to the client application; the BMC includes a trusted execution environment and a common execution environment, the common execution environment includes the client application; the trusted execution environment includes a trusted application, and the trusted application includes an authentication policy controller and an authentication policy verifier; The client application forwards the login authentication request to the security monitor; The security monitor switches to the trusted execution environment and forwards the login authentication request to the authentication policy controller; The authentication policy controller reads the corresponding user identity authentication information and authentication policy from the secure storage backend according to the user name, determines the target multi-factor login authentication combination mode according to the read authentication policy, the security monitor forwards the target multi-factor login authentication combination mode to the client application, and the security monitor switches to the common execution environment; The client application sends the target multi-factor login authentication combination mode to the user terminal; The user terminal sends corresponding multi-factor identity authentication information to the client application according to the target multi-factor login authentication combination mode; The client application forwards the multi-factor authentication information to the security monitor; The security monitor switches to the trusted execution environment and sends the multi-factor identity authentication information to the authentication policy verifier; The authentication policy verifier determines whether the login authentication is successful based on the multi-factor authentication information and the user authentication information read by the authentication policy controller; if so, the login is allowed, and if not, the login is denied.

2. The method according to claim 1, characterized in that The method further comprises: The server certificate center generates a root private key, burns the BMC private key certificate to a one-time programming device, signs the BMC public key with the root private key to obtain a BMC public key certificate, and writes the BMC public key certificate to the BMC firmware; The trusted application sets the one-time programming device as a trusted security peripheral to ensure that only the trusted application has read permission on the one-time programming device; The server certificate center signs the client application and the trusted application using an application signature private key, and writes the signed client application and the signed trusted application into a BMC flash memory.

3. The method according to claim 2, characterized in that The method further comprises: The security monitor starts the trusted execution environment; The BMC loads the signed client application and the signed trusted application from the BMC flash memory, and uses the application signature private key to verify the signed client application and the signed trusted application; loads and runs the client application that has passed the signature verification in the common execution environment, and loads and runs the trusted application that has passed the signature verification in the trusted execution environment; generates an encryption root key using the trusted root of the trusted execution environment; the encryption root key is in the trusted execution environment; The trusted application is communicated with the secure storage backend, obtains corresponding user identity authentication information and authentication policy from the secure storage backend, and uses the encryption root key to decrypt the obtained user identity authentication information and authentication policy; wherein the user identity authentication information and authentication policy of the secure storage backend are encrypted and stored using the encryption root key.

4. The method according to claim 3, characterized in that The method further comprises: The BMC determines whether it is the first time to run, and if so, prompts the user to set a multi-factor login authentication combination mode; The authentication policy controller sends a plurality of multi-factor login authentication combination methods to the user terminal; the multi-factor login authentication combination methods include at least two authentication methods of password authentication, USB key and digital certificate; The user terminal selects the target multi-factor login authentication combination method from the plurality of multi-factor login authentication combination methods, and sends the target multi-factor login authentication combination method to the client application; The client application sends the target multi-factor login authentication combination to the security monitor; The security monitor switches to the trusted execution environment; The authentication policy controller encrypts the target multi-factor login authentication combination mode and the corresponding user identity authentication information respectively by using the encryption root key, and saves them to the secure storage backend.

5. The method according to claim 4, characterized in that The method further comprises: When the login authentication is successful, the user terminal sets the number of multi-factors, selects at least two of the preset authentication methods from multiple preset authentication methods to form a new authentication strategy, and forwards the new authentication strategy to the client application; the number of preset authentication methods of the new authentication strategy is equal to the number of multi-factors; The client application forwards the new authentication policy to the security monitor; The security monitor switches to the trusted execution environment and forwards the new authentication policy to the authentication policy controller; The authentication policy controller encrypts the new authentication policy using the encryption root key and stores it in the secure storage backend.

6. The method according to claim 4, characterized in that The method further comprises: The authentication policy controller determines whether the authentication policy update cycle has arrived, and if so, controls the client application to initiate an authentication policy update request to the remote identity authentication center; the remote identity authentication center includes an authentication policy update module; The authentication policy update module sets the number of multi-factors and the necessary identity authentication method, generates a random number, selects a plurality of candidate authentication methods other than the necessary identity authentication method from a plurality of preset authentication methods, the number of the candidate authentication methods being the same as the random number; and determines the necessary identity authentication method and the plurality of candidate authentication methods as a new authentication policy; The client application forwards the new authentication policy to the security monitor; The security monitor switches to the trusted execution environment; The authentication policy controller encrypts the new authentication policy using the encryption root key and stores it in the secure storage backend.

7. The method according to claim 6, characterized in that The method further comprises: When the login authentication is successful, the user terminal updates the password through the BMC to obtain a new password; The user terminal establishes a secure channel with the remote identity authentication center and initiates a request for updating the USB key and the digital certificate; When the remote identity authentication center determines that the user terminal is legitimate, the remote identity authentication center sends a new USB key and a new digital certificate to the user terminal; The user terminal initiates an authentication information update request to the BMC, and forwards the new password, the new USB key and the new digital certificate to the client application; The client application forwards the new password, the new USB key and the new digital certificate to the security monitor; The security monitor switches to the trusted execution environment, encrypts the new password, the new USB key and the new digital certificate by using the encryption root key, and stores them in the secure storage backend.

8. A login authentication system based on a trusted execution environment, characterized in that: The system comprises: The user end is used to obtain the BMC public key from the BMC, obtain the root certificate from the server certificate center, verify the legitimacy of the BMC public key according to the root certificate, and if it is legal, use the BMC public key to establish a secure channel with the client application; use the user name to initiate a login authentication request to the client application; the BMC includes a trusted execution environment and a common execution environment, the common execution environment includes the client application; the trusted execution environment includes a trusted application, and the trusted application includes an authentication policy controller and an authentication policy verifier; The client application is used to forward the login authentication request to the security monitor; The security monitor is used to switch to the trusted execution environment and forward the login authentication request to the authentication policy controller; The authentication policy controller is used to read the corresponding user identity authentication information and authentication policy from the secure storage backend according to the user name, and determine the target multi-factor login authentication combination mode according to the read authentication policy; The security monitor is used to forward the target multi-factor login authentication combination mode to the client application; The security monitor is used to switch to the normal execution environment; The client application is further used to send the target multi-factor login authentication combination mode to the user terminal; The user terminal is further used to send corresponding multi-factor identity authentication information to the client application according to the target multi-factor login authentication combination mode; The client application is further used to forward the multi-factor identity authentication information to the security monitor; The security monitor is further configured to switch to the trusted execution environment and send the multi-factor identity authentication information to the authentication policy verifier; The authentication policy verifier is further used to determine whether the login authentication is successful based on the multi-factor identity authentication information and the user identity authentication information read by the authentication policy controller; if so, the login is allowed, and if not, the login is denied.

9. The system according to claim 8, characterized in that Also includes: The server certificate center is used to generate a root private key, burn the BMC private key certificate to a one-time programming device, sign the BMC public key with the root private key to obtain a BMC public key certificate, and write the BMC public key certificate into the BMC firmware; The trusted application is used to set the one-time programming device as a trusted security peripheral to ensure that only the trusted application has read permission on the one-time programming device; The server certificate center is further used to sign the client application and the trusted application using an application signature private key, and write the signed client application and the signed trusted application into the BMC flash memory.

10. A computer-readable storage medium, characterized in that: The computer program stores a computer program, which executes the login authentication method based on a trusted execution environment according to any one of claims 1 to 7 when running on a processor.

Citation Information

Patent Citations

  • BMC login method, system, device and computer-readable storage medium

    CN109040051A

  • BMC remote identity verification method and system based on trusted computing

    CN110781465A