A remote proof method and system for a trusted execution environment

By forwarding remote proof requests layer by layer in a trusted execution environment, a remote proof report containing all levels is generated, which solves the problem that users cannot obtain the trusted state of the underlying physical machine, and achieves the effects of simplifying the verification process and improving system security.

CN119316207BActive Publication Date: 2025-10-31CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411426782.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-14
Publication Date
2025-10-31
Estimated Expiration
2044-10-14

AI Technical Summary

Technical Problem

In remote verification, users can only blindly trust that the underlying physical machine is trustworthy, but cannot obtain the trustworthiness of the underlying physical machine, nor can they independently control the trust verification frequency of the entire software stack. This allows attackers to successfully launch attacks between trust verifications, reducing the security of remote verification.

Method used

A remote verification method for trusted execution environments is provided. The method forwards remote verification requests layer by layer through the innermost trusted execution environment until the outermost layer. The trusted execution environment generates and forwards the target remote verification report. The report contains the remote verification results of all trusted execution environments. Users only need to make one request to obtain the trusted status of the entire software stack.

Benefits of technology

It simplifies the verification process, improves efficiency, and enhances system security. Users can obtain the trusted state of the entire software stack in a single remote verification process, identify potential security risks, establish a chain of trust, adapt to multi-layered architectures, and enhance system transparency and security policies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119316207B_ABST
    Figure CN119316207B_ABST
Patent Text Reader

Abstract

This application provides a remote verification method and system for trusted execution environments (TEAs). The method is applied to a system containing multiple nested TEAs. The method includes: the innermost TEA obtaining a user's remote verification request; forwarding the remote verification request layer by layer from the innermost TEA outwards until the remote verification request reaches the outermost TEA; the innermost TEA obtaining a target remote verification report, wherein the target remote verification report contains the remote verification results of all TEAs from the outermost TEA to the innermost TEA, and the target remote verification report is generated based on the remote verification request. Therefore, the user can obtain the trusted state of the entire software stack (all TEAs) in a single remote verification process, thereby improving the security of the entire system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of remote proof technology, and in particular to a remote proof method and system for a trusted execution environment. Background Technology

[0002] In cloud scenarios, a layered remote authentication method is commonly used to verify the trusted computing environments of physical machines and virtual machines separately. Specifically, at the infrastructure layer, the cloud management platform initiates remote authentication for the physical machine, obtains a remote authentication report, and checks the trustworthiness of the computing environment by verifying the remote authentication report. At the virtual machine layer, the user initiates remote authentication for the virtual machine, obtains and verifies the remote authentication report, and establishes an encrypted channel through the remote authentication process to transmit confidential data to the virtual machine's trusted computing environment for computation.

[0003] However, in the above process, users can only blindly believe that the underlying physical machine is trustworthy, but cannot obtain the trustworthy state of the underlying physical machine; in addition, users cannot independently control the trust verification frequency of the entire software stack, which allows attackers to successfully launch attacks between two trust verifications. Summary of the Invention

[0004] This application provides a remote verification method and system for a trusted execution environment, which can solve the technical problem that in remote verification, users can only blindly believe that the underlying physical machine is trustworthy, but cannot obtain the trustworthy state of the underlying physical machine; in addition, users cannot independently control the trust verification frequency of the entire software stack, which allows attackers to successfully launch attacks between two trust verifications, thereby reducing the security of remote verification.

[0005] To solve the above-mentioned technical problems, this application is implemented as follows:

[0006] In a first aspect, embodiments of this application provide a remote verification method for a trusted execution environment, the method being applied to a system containing multi-layered nested trusted execution environments, the method comprising:

[0007] The innermost trusted execution environment obtains the user's remote authentication request;

[0008] Starting from the innermost trusted execution environment, the remote proof request is forwarded layer by layer from the inside out until the remote proof request reaches the outermost trusted execution environment.

[0009] The innermost trusted execution environment obtains a target remote proof report, wherein the target remote proof report contains remote proof results of all trusted execution environments from the outermost trusted execution environment to the innermost trusted execution environment, and the target remote proof report is generated according to the remote proof request.

[0010] Optionally, the innermost trusted execution environment obtaining the target remote proof report includes:

[0011] The outermost trusted execution environment generates a remote proof report containing the remote proof result of the outermost trusted execution environment based on the remote proof request; and forwards the remote proof report to the directly adjacent inner trusted execution environment;

[0012] The directly adjacent inner trusted execution environment generates a new remote proof report based on the received remote proof report and the remote proof request. This report includes the remote proof result of the outermost trusted execution environment and the remote proof result of the directly adjacent inner trusted execution environment. The new remote proof report is then forwarded to the directly adjacent inner trusted execution environment. This process is repeated layer by layer from the outside in, generating new remote proof reports and forwarding them until the innermost trusted execution environment is reached.

[0013] The innermost trusted execution environment generates the target remote proof report based on the remote proof request and the received remote proof report.

[0014] Optionally, the remote proof request carries a challenge value, and the directly adjacent inner trusted execution environment generates a new remote proof report based on the received remote proof report and the remote proof request, which includes the remote proof result of the outermost trusted execution environment and the remote proof result of the directly adjacent inner trusted execution environment, including:

[0015] The directly adjacent inner trusted execution environment concatenates the received remote proof report with the challenge value to obtain a new challenge value;

[0016] The directly adjacent inner trusted execution environment generates a new remote proof report based on the new challenge value, which includes the remote proof results of the outermost trusted execution environment and the remote proof results of the directly adjacent inner trusted execution environment.

[0017] Optionally, in a system that is a two-layer nested trusted execution environment, where the innermost trusted execution environment is a virtual machine trusted execution environment (VM Trusted Execution Environment), which includes a VM user-mode trusted execution environment and a VM kernel-mode trusted execution environment, and the outermost trusted execution environment is a physical machine kernel-mode trusted execution environment,

[0018] Starting from the innermost trusted execution environment, the remote proof request is forwarded layer by layer from the inside out until it reaches the outermost trusted execution environment, including:

[0019] The virtual machine user-mode trusted execution environment forwards the remote proof request to the virtual machine kernel-mode trusted execution environment;

[0020] The virtual machine kernel-mode trusted execution environment forwards the remote proof request to the physical machine kernel-mode trusted execution environment via hypercall or syscall.

[0021] Optionally, in a system that is a two-layer nested trusted execution environment, where the innermost trusted execution environment is a virtual machine trusted execution environment (VM Trusted Execution Environment), which includes a VM user-mode trusted execution environment and a VM kernel-mode trusted execution environment, and the outermost trusted execution environment is a physical machine kernel-mode trusted execution environment,

[0022] The outermost trusted execution environment generates a remote proof report containing the remote proof result of the outermost trusted execution environment based on the remote proof request; forwarding the remote proof report to the directly adjacent inner trusted execution environment includes:

[0023] The physical machine kernel-mode trusted execution environment invokes the physical trusted platform module based on the remote proof request to generate a remote proof report containing the remote proof result of the physical machine kernel-mode trusted execution environment; and forwards the remote proof report to the virtual machine kernel-mode trusted execution environment;

[0024] The innermost trusted execution environment generates the target remote proof report based on the remote proof request and the received remote proof report, including:

[0025] The virtual machine kernel-mode trusted execution environment calls the virtual trusted platform module to generate a new remote proof report based on the received remote proof report and the remote proof request, and forwards the new remote proof report to the virtual machine user-mode trusted execution environment;

[0026] The virtual machine user-mode trusted execution environment generates the target remote proof report based on the remote proof request and the received remote proof report.

[0027] Secondly, embodiments of this application provide a remote verification system for a trusted execution environment, the system comprising a multi-layered nested trusted execution environment, wherein the multi-layered nested trusted execution environment,

[0028] The innermost trusted execution environment is used to obtain the user's remote authentication request;

[0029] Furthermore, starting from the innermost trusted execution environment, the remote proof request is forwarded layer by layer from the inside out until the remote proof request reaches the outermost trusted execution environment;

[0030] The innermost trusted execution environment is used to obtain a target remote proof report, wherein the target remote proof report contains remote proof results of all trusted execution environments from the outermost trusted execution environment to the innermost trusted execution environment, and the target remote proof report is generated according to the remote proof request.

[0031] Optionally, the outermost trusted execution environment is used to generate a remote proof report containing the remote proof result of the outermost trusted execution environment based on the remote proof request; and to forward the remote proof report to the directly adjacent inner trusted execution environment;

[0032] The directly adjacent inner trusted execution environment is used to generate a new remote proof report based on the received remote proof report and the remote proof request, which includes the remote proof result of the outermost trusted execution environment and the remote proof result of the directly adjacent inner trusted execution environment; and forward the new remote proof report to the inner trusted execution environment directly adjacent to itself, and so on, generating new remote proof reports layer by layer from the outside to the inside, and forwarding the new remote proof reports until the innermost trusted execution environment;

[0033] The innermost trusted execution environment is used to generate the target remote proof report based on the remote proof request and the received remote proof report.

[0034] Thirdly, embodiments of this application provide an electronic device, including: a processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, it implements the steps of a remote verification method for a trusted execution environment as described in the first aspect.

[0035] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of a remote proof method for a trusted execution environment as described in the first aspect.

[0036] Fifthly, embodiments of this application provide a computer program product, including computer instructions, which, when executed by a processor, implement the steps of a remote verification method for a trusted execution environment as described in the first aspect.

[0037] In the remote verification method for trusted execution environments shown in this application embodiment, the user does not need to verify each trusted execution environment separately, but can obtain the trusted state of all levels with a single request. This centralized verification method reduces the complexity of operations and improves efficiency. The user can obtain the trusted state of the entire software stack (all trusted execution environments) in a single remote verification process, thereby improving the security of the system. Attached Figure Description

[0038] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:

[0039] Figure 1 A flowchart illustrating a remote verification method for a trusted execution environment provided in this application embodiment;

[0040] Figure 2 A system architecture block diagram of a multi-layered nested trusted execution environment is provided for embodiments of this application;

[0041] Figure 3 A system architecture diagram of a two-layer nested trusted execution environment provided in this application embodiment;

[0042] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0043] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0044] Figure 1 This invention illustrates a remote verification method for a trusted execution environment according to an embodiment of the present application. The method is applied to a system containing multi-layered nested trusted execution environments, such as... Figure 1 As shown, the method includes:

[0045] Step S101: The innermost trusted execution environment obtains the user's remote authentication request;

[0046] Step S102: Starting from the innermost trusted execution environment, forward the remote proof request layer by layer from the inside out until the remote proof request reaches the outermost trusted execution environment;

[0047] Step S103: Obtain the target remote proof report from the innermost trusted execution environment;

[0048] The target remote proof report contains the remote proof results of all trusted execution environments, from the outermost trusted execution environment to the innermost trusted execution environment. The target remote proof report is generated based on the remote proof request.

[0049] In one possible implementation, step S103, obtaining the target remote proof report by the innermost trusted execution environment, includes: the outermost trusted execution environment generating a remote proof report containing the remote proof result of the outermost trusted execution environment based on the remote proof request; forwarding the remote proof report to the directly adjacent inner trusted execution environment; the directly adjacent inner trusted execution environment generating a new remote proof report containing the remote proof result of the outermost trusted execution environment and the remote proof result of the directly adjacent inner trusted execution environment based on the received remote proof report and remote proof request; and forwarding the new remote proof report to the directly adjacent inner trusted execution environment, and so on, generating new remote proof reports layer by layer from the outside to the inside, and forwarding the new remote proof reports until the innermost trusted execution environment;

[0050] The innermost trusted execution environment generates the target remote proof report based on the remote proof request and the received remote proof report.

[0051] In one possible implementation, the remote proof request carries a challenge value. The directly adjacent inner trusted execution environment generates a new remote proof report based on the received remote proof report and remote proof request, which includes the remote proof results of the outermost trusted execution environment and the directly adjacent inner trusted execution environment. This process involves: the directly adjacent inner trusted execution environment concatenating the received remote proof report and the challenge value to obtain a new challenge value; and the directly adjacent inner trusted execution environment generating a new remote proof report based on the new challenge value, which includes the remote proof results of the outermost trusted execution environment and the directly adjacent inner trusted execution environment.

[0052] It should be noted that, Figure 2 This application provides a system architecture block diagram of a multi-layered nested trusted execution environment, as illustrated in an embodiment of the present application. Figure 2 As shown, each layer of trusted execution environment contains a remote proof agent and a trusted module. The remote agent obtains the remote proof report for its own layer by calling the trusted module. Whether the i-th layer is trusted is determined by the trusted state of layers i+1 to n; in other words, the trustworthiness of layers i+1 to n enhances the trustworthiness of the i-th layer. Therefore, in the process of verifying the remote proof report, the trusted execution environment {n, n-1...2, 1} should be verified sequentially from the outermost layer to the innermost layer, where n is the number of all trusted execution environments and is a positive integer; and verification should begin from the innermost layer, i.e., ... Figure 2 The Trusted Execution Environment-1 shown here hosts the user's end application; therefore, the user can only interact with the remote authentication agent Agent-1 within the Trusted Execution Environment-1. Figure 2(As shown) Direct communication, the user initiates a remote authentication request to Agent-1, and the trusted execution environment {1, 2, ..., n-1, n} initiates remote authentication requests in sequence from the inside out.

[0053] Furthermore, the remote verification process for the entire software stack within this system architecture is as follows:

[0054] 1) The user sends a request to the remote proof agent in Trusted Execution Environment-1, carrying the challenge value nonce;

[0055] 2) Agent-1 sends a remote authentication request to Agent-2, carrying the challenge value nonce;

[0056] 3) Agent-i sends remote authentication requests to Agent-(i+1) sequentially from the inside out, where i = 2, ..., n-1, and n is a positive integer;

[0057] 4) Agent-n uses the nonce as the challenge value, calls the trusted module-n, obtains the remote proof report report-n, and sends it to Agent-(n-1);

[0058] 5) Agent-2 uses nonce||report-3 as the challenge value, calls Trusted Module-2, obtains the remote proof report report-2, and sends it to Agent-1;

[0059] 6) Agent-1 uses nonce||report-2 as the challenge value to call Trusted Module-1 and obtain the remote proof report report-1;

[0060] 7) Agent-1 sends report-1 to the user.

[0061] Where “||” means:

[0062] After the above steps, the final remote proof report contains all the reports from Trusted Execution Environment-1 to Trusted Execution Environment-n. In other words, all the reports are superimposed into a final remote proof report. The final remote proof report carries the information of all the reports and establishes a chain-like binding relationship between all Trusted Execution Environments by using the i+1 layer report as the challenge value of the i layer report.

[0063] It should be noted that the remote proof agent provided in this application embodiment is not limited to user-space components used for direct communication with users, but is used to refer to components that implement request forwarding capabilities and can call trusted modules to obtain trusted status reports.

[0064] In one possible implementation, in a system with a two-layer nested trusted execution environment, where the innermost trusted execution environment is a virtual machine trusted execution environment (VM Trusted Execution Environment), which includes a VM user-mode trusted execution environment and a VM kernel-mode trusted execution environment, and the outermost trusted execution environment is a physical machine kernel-mode trusted execution environment, the remote authentication request is forwarded layer by layer from the innermost trusted execution environment until it reaches the outermost trusted execution environment. This includes: the VM user-mode trusted execution environment forwarding the remote authentication request to the VM kernel-mode trusted execution environment; and the VM kernel-mode trusted execution environment forwarding the remote authentication request to the physical machine kernel-mode trusted execution environment via a hypercall or syscall.

[0065] In one possible implementation, in a system with two nested trusted execution environments, where the innermost trusted execution environment is a virtual machine trusted execution environment (VM environment) including a VM user-mode trusted execution environment and a VM kernel-mode trusted execution environment, and the outermost trusted execution environment is a physical machine kernel-mode trusted execution environment, the outermost trusted execution environment generates a remote proof report containing the remote proof result of the outermost trusted execution environment based on the remote proof request. Forwarding the remote proof report to the directly adjacent inner trusted execution environment includes: the physical machine kernel-mode trusted execution environment calling the physical trusted platform module based on the remote proof request to generate... The process involves: generating a remote proof report containing the remote proof results of the physical machine kernel-mode trusted execution environment; forwarding the remote proof report to the virtual machine kernel-mode trusted execution environment; and generating a target remote proof report based on the remote proof request and the received remote proof report in the innermost trusted execution environment. This includes: the virtual machine kernel-mode trusted execution environment calling the virtual trusted platform module to generate a new remote proof report based on the received remote proof report and the remote proof request, and forwarding the new remote proof report to the virtual machine user-mode trusted execution environment; and the virtual machine user-mode trusted execution environment generating the target remote proof report based on the remote proof request and the received remote proof report.

[0066] Figure 3 This document illustrates a system architecture diagram of a two-layer nested trusted execution environment based on a virtualized trusted platform module, namely vTPM (Virtual Trusted Platform Module) and TPM (Trusted Platform Module), according to an embodiment of this application. Figure 3 As shown.

[0067] Remote authentication agents are divided into user-mode agents and kernel-mode agents. User-mode agents receive remote authentication requests directly sent by users, typically through a network connection established between the user-mode agent and the user terminal. Kernel-mode agents are generally invoked via system calls (syscalls) or hypercalls, and obtain remote authentication reports by calling the TPM driver interface. The specific execution flow is as follows:

[0068] 1) In the virtual machine, the user-space agent establishes a connection with the user over the network and receives remote authentication requests sent by the user;

[0069] 2) The virtual machine user-mode agent calls the virtual machine kernel-mode agent to obtain the status report of the outer trusted execution environment and the status report of its own trusted execution environment;

[0070] 3) The kernel-mode agent invokes the physical machine's kernel-mode agent via hypercall and sends a challenge value (nonce) to initiate a remote verification request to the outer trusted execution environment;

[0071] 4) The physical machine kernel-mode agent calls the TPM driver to obtain the physical machine's trusted execution environment status report (report-2).

[0072] 5) The physical machine kernel-mode agent returns the status report of the physical machine's trusted execution environment to the virtual machine kernel-mode agent;

[0073] 6) The virtual machine kernel-mode agent uses nonce||report-2 as the challenge value to call the TPM driver interface to obtain the virtual machine trusted execution environment status report, so as to establish the binding relationship between the virtual machine trusted execution environment status report and the physical machine trusted execution environment status report;

[0074] 7) The virtual machine kernel-mode agent sends the obtained report to the virtual machine user-mode agent, which then sends it to the user, thus completing the user's acquisition of a trusted status report of the entire software stack above the physical TPM.

[0075] In summary, the remote proof method for a trusted execution environment provided in this application has the following advantages:

[0076] 1. Comprehensive Trust Status Assessment: Users can obtain the trust status of the entire software stack (from the outermost to the innermost trusted execution environments) in a single remote verification process. Users can clearly understand whether the execution environment at each level is in a trusted state, thereby improving the transparency of the system.

[0077] 2. Enhanced system security: Through layer-by-layer verification, users can identify potential security risks. If the trustworthiness of a certain layer is questioned, users can take corresponding measures to protect the system and reduce the risk of the system being attacked.

[0078] 3. Simplified verification process: Users do not need to verify each execution environment separately. Instead, they can obtain the trusted status of all levels with a single request. This centralized verification method reduces the complexity of operations and improves efficiency.

[0079] 4. A trust chain has been established. By obtaining all remote proof results from the outermost to the innermost layer, users can establish a complete trust chain. This helps users understand and manage the trust relationships between various execution environments, further enhancing the system's security strategy.

[0080] 5. Adaptable to multi-layered architectures: In modern software architectures, applications typically run in multi-layered environments (such as virtual machines, containers, etc.). This mechanism can effectively adapt to complex multi-layered architectures and ensure the security of each layer.

[0081] This application also provides a remote verification system for a trusted execution environment, such as... Figure 2 As shown, the system includes a multi-layered nested trusted execution environment.

[0082] The innermost trusted execution environment is used to obtain the user's remote authentication request;

[0083] Furthermore, starting from the innermost trusted execution environment, remote proof requests are forwarded layer by layer from the inside out until the remote proof request reaches the outermost trusted execution environment;

[0084] The innermost trusted execution environment is used to obtain the target remote proof report, which contains the remote proof results of all trusted execution environments from the outermost trusted execution environment to the innermost trusted execution environment. The target remote proof report is generated based on the remote proof request.

[0085] In one possible implementation, the outermost trusted execution environment is used to generate a remote proof report containing the remote proof result of the outermost trusted execution environment based on the remote proof request; and to forward the remote proof report to the directly adjacent inner trusted execution environment;

[0086] The directly adjacent inner trusted execution environment is used to generate a new remote proof report based on the received remote proof report and remote proof request, which includes the remote proof result of the outermost trusted execution environment and the remote proof result of the directly adjacent inner trusted execution environment; and forward the new remote proof report to the inner trusted execution environment directly adjacent to itself, and so on, generating new remote proof reports layer by layer from the outside to the inside, and forwarding the new remote proof reports until the innermost trusted execution environment;

[0087] The innermost trusted execution environment is used to generate the target remote proof report based on the remote proof request and the received remote proof report.

[0088] In one possible implementation, the remote proof request carries a challenge value, and the directly adjacent inner trusted execution environment is used to concatenate the received remote proof report and the challenge value to obtain a new challenge value;

[0089] The directly adjacent inner trusted execution environments are used to generate a new remote proof report based on the new challenge value, which includes the remote proof results of the outermost trusted execution environment and the remote proof results of the directly adjacent inner trusted execution environments.

[0090] In one possible implementation, in a system with a two-layer nested trusted execution environment, where the innermost trusted execution environment is a virtual machine trusted execution environment (VM environment), which includes a VM user-mode trusted execution environment and a VM kernel-mode trusted execution environment, and the outermost trusted execution environment is a physical machine kernel-mode trusted execution environment,...

[0091] The virtual machine user-mode trusted execution environment is used to forward remote authentication requests to the virtual machine kernel-mode trusted execution environment;

[0092] The virtual machine kernel-mode trusted execution environment is used to forward remote authentication requests to the physical machine kernel-mode trusted execution environment via hypercall or syscall.

[0093] In one possible implementation, in a system with a two-layer nested trusted execution environment, where the innermost trusted execution environment is a virtual machine trusted execution environment (VM environment), which includes a VM user-mode trusted execution environment and a VM kernel-mode trusted execution environment, and the outermost trusted execution environment is a physical machine kernel-mode trusted execution environment,...

[0094] The physical machine kernel-mode trusted execution environment is used to invoke the physical trusted platform module based on a remote proof request to generate a remote proof report containing the remote proof results of the physical machine kernel-mode trusted execution environment; and to forward the remote proof report to the virtual machine kernel-mode trusted execution environment;

[0095] The innermost trusted execution environment is used to generate the target remote proof report based on the remote proof request and the received remote proof report, including:

[0096] The virtual machine kernel-mode trusted execution environment is used to call the virtual trusted platform module to generate a new remote proof report based on the received remote proof report and remote proof request, and then forward the new remote proof report to the virtual machine user-mode trusted execution environment;

[0097] The virtual machine user-space trusted execution environment is used to generate a target remote proof report based on the remote proof request and the received remote proof report.

[0098] Therefore, users can obtain a trusted state report of the entire software stack in a single remote verification process. Compared with the traditional layered approach of blindly trusting the trusted state of the physical machine, users are more likely to trust the trusted execution environment, thus improving the user experience.

[0099] Users can independently control the trusted verification frequency of the entire software stack to mitigate the security threats posed by the TOCTOU (Time of Check to Time of Use) problem of remotely proving themselves.

[0100] TOCTOU stands for "Time of Check to Time of Use," which is a common security vulnerability that occurs within the time window between when a system checks a condition (such as file permissions or status) and when it actually uses that condition. If the condition changes during this time (for example, the file is replaced or its permissions are modified), the system may continue to perform operations under unexpected circumstances, leading to security issues.

[0101] Remote authentication is a core component of trusted computing and confidential computing technologies, and many vendors have already launched cloud servers that support confidential computing. The remote authentication method for a multi-layered nested trusted execution environment provided in this application has extremely high practical value and broad application prospects.

[0102] Please refer to Figure 4 This application also provides an electronic device 40, including a processor 41, a memory 42, and a computer program stored in the memory 42 and executable on the processor 41. When the computer program is executed by the processor 41, it implements the various processes of the remote proof method embodiment of the trusted execution environment described above and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0103] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the remote verification method embodiments of the trusted execution environment described above, and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may include read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk, etc.

[0104] This application also provides a computer program product, including computer instructions. When these computer instructions are executed by a processor, they implement the various processes of the remote verification method embodiment of the trusted execution environment described above, and can achieve the same technical effect. To avoid repetition, they will not be described again here.

[0105] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0106] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0107] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. A remote proof method for a trusted execution environment, characterized in that, The method is applied to a system containing a multi-layered nested trusted execution environment, and the method includes: The innermost trusted execution environment obtains the user's remote authentication request; Starting from the innermost trusted execution environment, the remote proof request is forwarded layer by layer from the inside out until the remote proof request reaches the outermost trusted execution environment. The innermost trusted execution environment obtains a target remote proof report, wherein the target remote proof report contains remote proof results of all trusted execution environments from the outermost trusted execution environment to the innermost trusted execution environment, and the target remote proof report is generated according to the remote proof request.

2. The method according to claim 1, characterized in that, The innermost trusted execution environment obtains the target remote proof report, including: The outermost trusted execution environment generates a remote proof report containing the remote proof result of the outermost trusted execution environment based on the remote proof request; and forwards the remote proof report to the directly adjacent inner trusted execution environment; The directly adjacent inner trusted execution environment generates a new remote proof report based on the received remote proof report and the remote proof request. This report includes the remote proof result of the outermost trusted execution environment and the remote proof result of the directly adjacent inner trusted execution environment. The new remote proof report is then forwarded to the directly adjacent inner trusted execution environment. This process is repeated layer by layer from the outside in, generating new remote proof reports and forwarding them until the innermost trusted execution environment is reached. The innermost trusted execution environment generates the target remote proof report based on the remote proof request and the received remote proof report.

3. The method according to claim 2, characterized in that, The remote proof request carries a challenge value. The directly adjacent inner trusted execution environment generates a new remote proof report based on the received remote proof report and the remote proof request. This report includes the remote proof results of the outermost trusted execution environment and the remote proof results of the directly adjacent inner trusted execution environment. The directly adjacent inner trusted execution environment concatenates the received remote proof report with the challenge value to obtain a new challenge value; The directly adjacent inner trusted execution environment generates a new remote proof report based on the new challenge value, which includes the remote proof results of the outermost trusted execution environment and the remote proof results of the directly adjacent inner trusted execution environment.

4. The method according to claim 1, characterized in that, In a system that is a two-layer nested trusted execution environment, where the innermost trusted execution environment is a virtual machine trusted execution environment (VM Trusted Execution Environment), which includes a VM user-mode trusted execution environment and a VM kernel-mode trusted execution environment, and the outermost trusted execution environment is a physical machine kernel-mode trusted execution environment, Starting from the innermost trusted execution environment, the remote proof request is forwarded layer by layer from the inside out until it reaches the outermost trusted execution environment, including: The virtual machine user-mode trusted execution environment forwards the remote proof request to the virtual machine kernel-mode trusted execution environment; The virtual machine kernel-mode trusted execution environment forwards the remote proof request to the physical machine kernel-mode trusted execution environment via hypercall or syscall.

5. The method according to claim 2, characterized in that, In a system that is a two-layer nested trusted execution environment, where the innermost trusted execution environment is a virtual machine trusted execution environment (VM Trusted Execution Environment), which includes a VM user-mode trusted execution environment and a VM kernel-mode trusted execution environment, and the outermost trusted execution environment is a physical machine kernel-mode trusted execution environment, The outermost trusted execution environment generates a remote proof report containing the remote proof results of the outermost trusted execution environment based on the remote proof request; Forwarding the remote proof report to the directly adjacent inner trusted execution environment includes: The physical machine kernel-mode trusted execution environment invokes the physical trusted platform module based on the remote proof request to generate a remote proof report containing the remote proof result of the physical machine kernel-mode trusted execution environment; and forwards the remote proof report to the virtual machine kernel-mode trusted execution environment; The innermost trusted execution environment generates the target remote proof report based on the remote proof request and the received remote proof report, including: The virtual machine kernel-mode trusted execution environment calls the virtual trusted platform module to generate a new remote proof report based on the received remote proof report and the remote proof request, and forwards the new remote proof report to the virtual machine user-mode trusted execution environment; The virtual machine user-mode trusted execution environment generates the target remote proof report based on the remote proof request and the received remote proof report.

6. A remote verification system for a trusted execution environment, characterized in that, The system includes a multi-layered nested trusted execution environment, wherein the multi-layered nested trusted execution environment, The innermost trusted execution environment is used to obtain the user's remote authentication request; Furthermore, starting from the innermost trusted execution environment, the remote proof request is forwarded layer by layer from the inside out until the remote proof request reaches the outermost trusted execution environment; The innermost trusted execution environment is used to obtain a target remote proof report, wherein the target remote proof report contains remote proof results of all trusted execution environments from the outermost trusted execution environment to the innermost trusted execution environment, and the target remote proof report is generated according to the remote proof request.

7. The system according to claim 6, characterized in that, The outermost trusted execution environment is used to generate a remote proof report containing the remote proof result of the outermost trusted execution environment based on the remote proof request; and to forward the remote proof report to the directly adjacent inner trusted execution environment. The directly adjacent inner trusted execution environment is used to generate a new remote proof report based on the received remote proof report and the remote proof request, which includes the remote proof result of the outermost trusted execution environment and the remote proof result of the directly adjacent inner trusted execution environment; and forward the new remote proof report to the inner trusted execution environment directly adjacent to itself, and so on, generating new remote proof reports layer by layer from the outside to the inside, and forwarding the new remote proof reports until the innermost trusted execution environment; The innermost trusted execution environment is used to generate the target remote proof report based on the remote proof request and the received remote proof report.

8. An electronic device, characterized in that, include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of a remote verification method for a trusted execution environment as described in any one of claims 1 to 5.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of a remote proof method for a trusted execution environment as described in any one of claims 1 to 5.

10. A computer program product, characterized in that, It includes computer instructions that, when executed by a processor, implement the steps of a remote verification method for a trusted execution environment as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Software framework of Linux system security application and creation method

    CN113703790A

  • Block chain trusted data transmission, verification and acquisition method and device

    CN114338054A