Batch remote certification method and device, medium and product

By aggregating multiple remote proof requests into a new request and generating corresponding proof information, the problem of low efficiency in remote proof under high concurrency in cloud services is solved, and an efficient remote proof process is achieved.

CN121585459APending Publication Date: 2026-02-27BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202511983746.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-25
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

When a large number of users access cloud services, the number of remote proof requests increases, leading to low efficiency in remote proof. The proof acquisition interface provided by TPM has low throughput, making it difficult to improve efficiency through response caching.

Method used

By aggregating multiple remote proof requests into a new remote proof request and generating corresponding proof information, a remote proof report and proof information are sent to each requester, reducing the number of requests and improving efficiency.

Benefits of technology

It improves the efficiency and performance of remote verification, ensures the stability of service operation, and maintains the overall logic and credibility of remote verification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121585459A_ABST
    Figure CN121585459A_ABST
Patent Text Reader

Abstract

One or more embodiments of the invention provide a batch remote attestation method and device, a medium and a product. The batch remote attestation method comprises the following steps: receiving a plurality of first remote attestation requests sent by a plurality of requesters for a first service; generating a second remote attestation request based on the plurality of first remote attestation requests, obtaining a remote attestation report based on the second remote attestation request, and obtaining a plurality of pieces of attestation information corresponding to the plurality of first remote attestation requests; and sending the remote certification report and certification information corresponding to the first remote certification request sent by the requester to each requester. In a remote attestation request aggregation mode, the service only needs to obtain one remote attestation report, so that the efficiency and the performance of remote attestation are improved, and the operation stability of the service is ensured; moreover, the remote certification report is proved to be related to the original remote certification request sent by the remote certification report to each requester in a manner of acquiring the certification information, and the overall logic of the remote certification is not influenced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] One or more embodiments of the present disclosure relate to a batch remote attestation method, a remote attestation method, an electronic device, a computer readable storage medium and a computer program product. BACKGROUND

[0002] With the continuous development of cloud computing, various cloud services have emerged. In order to meet the security compliance requirements, some cloud service providers deploy cloud services inside a trusted execution environment (TEE).

[0003] The trusted execution environment provides a remote attestation mechanism. The cloud service deployed in the trusted execution environment can provide a remote attestation report to an external user to prove the security of the service.

[0004] However, when the number of users accessing the cloud service is large, the number of remote attestation requests received by the cloud service will also increase, so it is particularly important to implement efficient remote attestation. SUMMARY

[0005] This summary is provided to introduce a selection of concepts, which are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it used to limit the scope of the claimed subject matter's scope.

[0006] At least one embodiment of the present disclosure provides a batch remote attestation method, comprising: receiving a plurality of first remote attestation requests for a first service sent by a plurality of requesters; generating a second remote attestation request based on the plurality of first remote attestation requests, obtaining a remote attestation report based on the second remote attestation request, and obtaining a plurality of attestation information corresponding to the plurality of first remote attestation requests respectively, wherein each attestation information is used to prove that the second remote attestation request is generated based on the corresponding first remote attestation request; sending the remote attestation report and the attestation information corresponding to the first remote attestation request sent by each requester to each requester.

[0007] At least one embodiment of the present disclosure provides a remote attestation method, comprising: sending a first remote attestation request to a first service, wherein the first remote attestation request comprises a first random value; receiving a remote attestation report and first attestation information returned by the first service, wherein the remote attestation report comprises a second random value, and the first attestation information is used to prove that the second random value is generated based on the first random value; in response to the verification of the remote attestation report and the first attestation information passing, sending a communication request to the first service.

[0008] At least another embodiment of this disclosure provides a batch remote verification device, comprising: a communication module configured to: receive multiple first remote verification requests for a first service sent by multiple requesters; an acquisition module configured to: generate a second remote verification request based on the multiple first remote verification requests, acquire a remote verification report based on the second remote verification request, and acquire multiple verification information corresponding to the multiple first remote verification requests respectively, wherein each piece of verification information is used to prove that the second remote verification request was generated based on the corresponding first remote verification request; the communication module is further configured to: send the remote verification report and the verification information corresponding to the first remote verification request sent by the requester to each of the requesters.

[0009] At least another embodiment of this disclosure provides a remote verification device, comprising: a communication module configured to: send a first remote verification request to a first service, wherein the first remote verification request includes a first random value; the communication module is further configured to: receive a remote verification report and first verification information returned by the first service, wherein the remote verification report includes a second random value, and the first verification information is used to prove that the second random value is generated based on the first random value; the communication module is further configured to: send a communication request to the first service in response to successful verification of the remote verification report and the first verification information.

[0010] At least one further embodiment of this disclosure provides an electronic device, including: at least one processor; and at least one memory, including one or more computer program instructions; wherein the one or more computer program instructions are executed by the processor to perform a batch remote proof method or a remote proof method provided in at least one embodiment of this disclosure.

[0011] At least one further embodiment of this disclosure provides a computer-readable storage medium for non-transitory storage of computer-readable instructions, wherein the computer-readable instructions, when executed by a processor, implement the batch remote proof method or remote proof method provided in at least one embodiment of this disclosure.

[0012] At least one embodiment of this disclosure provides a computer program product, including a computer program that, when executed by a processor, implements a batch remote verification method or a remote verification method provided in at least one embodiment of this disclosure. Attached Figure Description

[0013] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.

[0014] Figure 1 The illustration shows a schematic diagram of a remote verification process provided by at least one embodiment of the present disclosure;

[0015] Figure 2 This illustration schematically depicts an application scenario based on cloud services provided by at least one embodiment of the present disclosure;

[0016] Figure 3 The illustration shows a flowchart of a batch remote verification method provided in at least one embodiment of the present disclosure;

[0017] Figure 4 This illustration schematically shows a tree structure provided in at least one embodiment of the present disclosure;

[0018] Figure 5 The illustration shows a flowchart of a remote proof method provided in at least one embodiment of the present disclosure;

[0019] Figure 6A and Figure 6B The illustration shows a schematic diagram of a remote verification process provided by at least one embodiment of the present disclosure;

[0020] Figure 7 The schematic diagram illustrates the structure of a batch remote verification device provided in at least one embodiment of the present disclosure;

[0021] Figure 8 The schematic diagram illustrates the structure of a remote verification device provided in at least one embodiment of this disclosure; and

[0022] Figure 9 The schematic diagram illustrates a structure suitable for implementing at least one embodiment of the present disclosure of an electronic device. Detailed Implementation

[0023] One or more embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0024] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.

[0025] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.

[0026] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.

[0027] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0028] The names of the messages or information exchanged between the various devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of these messages or information.

[0029] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition, use, storage or deletion of the data) shall comply with the requirements of relevant laws, regulations and related provisions.

[0030] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, relevant users should be informed of the type, scope of use, and usage scenarios of the information involved in this disclosure through appropriate means in accordance with relevant laws and regulations, and authorization should be obtained from the relevant users. Among them, relevant users may include any type of rights holder, such as individuals, enterprises, and groups.

[0031] For example, in response to receiving an active request from a user, a prompt message is sent to the relevant user to clearly indicate that the operation requested by the user will require obtaining and using the user's information. This allows the relevant user to choose whether to provide information to the software or hardware such as the electronic device, application, server, or storage medium that performs the operation of any embodiment of the present disclosure based on the prompt message.

[0032] As an optional but non-restrictive implementation, in response to a user's active request, a prompt message can be sent to the user, such as a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide information to the electronic device.

[0033] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0034] Cloud computing can be understood as a computing resource sharing model that allocates computing resources on demand and delivers them over the network. The specific products or capabilities delivered under the cloud computing model can be called cloud services. Cloud service providers encapsulate computing resources into standardized services, which users can use directly through the network without having to worry about the underlying hardware and technical implementation.

[0035] Some cloud service providers can deploy cloud services in a Trusted Execution Environment (TEE). A TEE can be understood as a secure area within a central processing unit (CPU) that runs in parallel with the operating system in an independent environment and has independent hardware resources (such as CPU partitions, encrypted memory areas, etc.). The CPU ensures the confidentiality and integrity of data in the TEE.

[0036] For example, in scenarios with high security and compliance requirements, cloud services can be deployed in a trusted execution environment. The trusted execution environment uses memory encryption technology to ensure the confidentiality of relevant data during the operation of cloud services, achieving data availability without visibility.

[0037] The Trusted Execution Environment (TEE) provides a remote attestation mechanism, which proves to external users that the cloud service is deployed in the TEE, that the runtime environment is secure and trustworthy, and that the runtime logic meets expectations.

[0038] Figure 1 The illustration shows a schematic diagram of a remote verification process provided by at least one embodiment of the present disclosure.

[0039] like Figure 1 As shown, the entities involved in the remote proof process may include prover 101 and challenger 102. Proverr 101 can be understood as an entity running in a trusted execution environment that needs to prove its own security to the challenger. For example, prover 101 may be a cloud service. Challenger 102 can be understood as an entity using the prover that wants to verify the security of the prover. For example, challenger 102 may be a user using a cloud service.

[0040] During the remote proof process, challenger 102 sends a remote proof request to prover 101. For example, challenger 102 can send a remote proof request to prover 101 by calling the proof retrieval interface provided by prover 101. Based on the remote proof request, prover 101 returns a remote proof report to challenger 102. Based on the remote proof report, challenger 102 verifies that prover 101 is deployed in a trusted execution environment.

[0041] When a cloud service receives a large number of users, it may receive a surge of remote proof requests within a short period, increasing the pressure on its proof retrieval interface. In other request-response scenarios, responses are typically cached beforehand, and for a large volume of requests, responses are retrieved directly from the cache and returned. However, in the remote proof process, because the remote proof report is generated based on the remote proof request—meaning there is a direct correspondence between the remote proof report and the request—it is impossible to pre-generate the corresponding remote proof report before receiving the request. Therefore, response caching cannot improve the efficiency of remote proof.

[0042] Furthermore, some TEE technologies require the cooperation of a Trusted Platform Module (TPM). A TPM can be understood as an independent hardware security chip. Through the cooperation of the TPM and the Trusted Execution Environment (TEE), the TPM can provide reliable startup metrics and evidence generation capabilities, while simultaneously achieving data encryption isolation and trusted state proof, resulting in better security protection. However, the proof acquisition interface provided by the TPM is typically a low-speed, hardware-level interface with low throughput and weak concurrency. When faced with a large number of remote proof requests, this exacerbates the problem of insufficient remote proof performance.

[0043] To at least partially solve the above-mentioned technical problem, at least one embodiment of this disclosure provides a batch remote verification method. The method includes: receiving multiple first remote verification requests for a first service sent by multiple requesters; generating a second remote verification request based on the multiple first remote verification requests; obtaining a remote verification report based on the second remote verification request; and obtaining multiple verification information corresponding to the multiple first remote verification requests, each verification information being used to prove that the second remote verification request was generated based on the corresponding first remote verification request; and sending the remote verification report and the verification information corresponding to the first remote verification request sent by the requester to each requester.

[0044] In a batch remote proof method provided in at least one embodiment of this disclosure, multiple remote proof requests (i.e., multiple first remote proof requests) from multiple requesters for the same service are aggregated into a new remote proof request (i.e., a second remote proof request). Corresponding proof information is generated for each remote proof request sent by a requester. A remote proof report generated based on the new remote proof request and the corresponding proof information are sent as a response to each requester. Thus, by aggregating remote proof requests, the service only needs to obtain one remote proof report for multiple remote proof requests, eliminating the need to obtain a separate remote proof report for each request, thereby improving the efficiency and performance of remote proof and ensuring the stability of service operation. Furthermore, by generating proof information, the remote proof report is proven to each requester to be related to the original remote proof request sent by the requester, without affecting the overall logic of the remote proof.

[0045] Based on the batch remote verification method provided in at least one embodiment of this disclosure, at least one embodiment of this disclosure also provides a remote verification method, a batch remote verification device, a remote verification device, an electronic device, a computer-readable storage medium, and a computer program product.

[0046] The present disclosure and some examples thereof will now be described in detail with reference to the accompanying drawings.

[0047] Figure 2 The illustration shows a schematic diagram of an application scenario based on cloud services provided by at least one embodiment of the present disclosure.

[0048] like Figure 2 As shown, the application scenario provided in this embodiment may include cloud service 210, which can be deployed in a trusted execution environment to provide services. The application scenario provided in this embodiment may also include requester 220, which can be understood as the entity that uses cloud service 210 and establishes a connection with it. Requester 220 may include requester 221, requester 222, ..., requester 22N, where N is an integer greater than 1.

[0049] During the remote verification process, cloud service 20, acting as the verifier, provides a remote verification report to requester 220 to prove that cloud service 210 is running in a trusted execution environment, i.e., cloud service 210 is trustworthy. For example, multiple requesters in requester 220 can send multiple first remote verification requests 211 to cloud service 210, and cloud service 210 responds to the multiple first remote verification requests 211.

[0050] In one or more embodiments of this disclosure, cloud service 210 adds a functional module for aggregating remote proof requests, aggregating multiple first remote proof requests 211 to generate a new second remote proof request 212, that is, converting multiple remote proof requests into one remote proof request, and the second remote proof request 212 is generated based on multiple first remote proof requests 211.

[0051] On the one hand, cloud service 210 generates remote proof report 214 based on the second remote proof request 212, that is, for the multiple first remote proof requests 211 received, only one remote proof report 214 is generated; on the other hand, cloud service 210 generates corresponding proof information 213 for each first remote proof request 211, and the proof information 213 can be used to prove that the second remote proof request 212 is generated based on the first remote proof request 211.

[0052] When responding to a remote verification request, cloud service 210 sends a remote verification report 214 and verification information 213 corresponding to the requester 220 to each requester 220 that sent the first remote verification request 211. Thus, for requester 220, the remote verification report 214 verifies the trustworthiness of cloud service 210, and the verification information 213 verifies that the remote verification report 214 generated based on the second remote verification request 212 is related to the original first remote verification request 211 sent by itself. That is, the remote verification report 214 is indirectly generated based on the first remote verification request 211 sent by itself, and the remote verification process still holds true.

[0053] The following will combine Figure 3 and Figure 4 A batch remote verification method provided by at least one embodiment of the present disclosure will be described in detail.

[0054] Figure 3 The illustration shows a flowchart of a batch remote verification method provided in at least one embodiment of the present disclosure.

[0055] like Figure 3 As shown, the batch remote proof method of this embodiment includes steps S301 to S303. In some embodiments, the execution entity of the batch remote proof method can be a first service, which can be deployed in a trusted execution environment. The steps included in the batch remote proof method are described below:

[0056] Step S301: Receive multiple first remote authentication requests for the first service from multiple requesters.

[0057] The first service can be understood as a confidential service deployed in a trusted execution environment. One or more embodiments of this disclosure do not limit the type of the first service. For example, the first service can be a large model inference service. By deploying the large model inference service in a trusted execution environment, the large model inference service can implement confidential inference in the trusted execution environment.

[0058] The first remote proof request for the first service can be used to request trusted verification of the first service. In one or more embodiments of this disclosure, the first remote proof request can be sent by a requesting party communicating with the first service. That is, the requesting party can be understood as a communicating party that has a remote proof requirement for the first service and sends a first remote proof report to the first service.

[0059] The first service can communicate with multiple requesters. For example, multiple requesters can call the first service separately to use the corresponding functions provided by the first service. Multiple requesters can send a first remote authentication request to the first service. That is, the first service can receive multiple first remote authentication requests sent by multiple requesters for the first service.

[0060] One or more embodiments of this disclosure do not limit the manner in which multiple first remote proof requests for a first service are received from multiple requesters. In some embodiments, the first service can be configured to receive a reception duration during which multiple first remote proof requests are received from multiple requesters respectively. For example, the reception duration can be 10 seconds, and the multiple first remote proof requests for the first service can be the multiple first remote proof requests received within the 10 seconds. In other embodiments, the first service can be configured to receive a number of requests. When the number of first remote proof requests received reaches the number of requests received, multiple first remote proof requests for the first service are obtained. For example, the number of requests received can be 20. The first service continuously receives first remote proof requests from different requesters, and when 20 first remote proof requests are received, the 20 first remote proof requests are taken as multiple first remote proof requests for the first service.

[0061] Step S302: Generate a second remote proof request based on multiple first remote proof requests, obtain a remote proof report based on the second remote proof request, and obtain multiple proof information corresponding to the multiple first remote proof requests respectively.

[0062] The second remote proof request can be understood as a new remote proof request obtained by aggregating multiple first remote proof requests for the first service. That is, in terms of quantity, there are multiple first remote proof requests, but only one second remote proof request. In terms of generation method, the second remote proof request is generated based on each of the multiple first remote proof requests. That is, the second remote proof request is related to each of the multiple first remote proof requests.

[0063] In some possible implementations, remote proof requests can carry a nonce value. Different remote proof requests carry different nonce values, that is, different remote proof requests are distinguished by using the nonce value. Correspondingly, the remote proof report generated based on the remote proof request can also be related to the nonce value, so as to ensure that each remote proof process is different.

[0064] Considering that multiple first remote proof requests can each carry different random values, when generating a second remote proof request, a first random value can be extracted from each of the multiple first remote proof requests to obtain multiple first random values. Based on the multiple first random values, a second random value is generated, and the second remote proof request includes the second random value.

[0065] For example, the first random value can be presented as the field value of a field (e.g., the first field) in the first remote proof request. For each first remote proof request, the first random value is obtained by identifying the first field from the first remote proof request and extracting the field value of the first field, thereby obtaining multiple first random values ​​corresponding to multiple first remote proof requests.

[0066] A second random value is generated based on multiple first random values, and then a second remote proof request is generated based on the second random value. For example, the second random value is used as the field value of the first field in the second remote proof request, so that the second remote proof request is associated with the second random value. At the same time, since the second random value is generated based on multiple first random values, the second remote proof request is also associated with multiple first random values. That is, the second remote proof request is generated based on multiple first remote proof requests.

[0067] Thus, by aggregating multiple first random values, an aggregated second random value is obtained. This second random value is then used as the random value carried in the newly generated second remote proof request. This aggregates multiple first remote proof requests into a single second remote proof request that is related to all of the first remote proof requests, reducing the number of remote proof requests. This transforms the remote proof process for multiple first remote proof requests into a batch remote proof process for a single second remote proof request.

[0068] One or more embodiments of this disclosure do not limit the method of generating a second random value from multiple first random values. In some embodiments, the first service may pre-configure an aggregation algorithm, use the aggregation algorithm to calculate multiple first random values, and use the calculation result as the second random value.

[0069] In other embodiments, the second random value can also be generated in the form of a data structure. For example, multiple first random values ​​are merged in multiple steps to obtain a first tree structure, and the second random value is determined based on the value corresponding to the root node of the first tree structure.

[0070] The first tree structure can be used to represent the generation path from multiple first random values ​​to a second random value. For example, each node in the first tree structure can correspond to multiple first random values, second random values, and intermediate result values ​​that occur in the process of obtaining the second random value from multiple first random values.

[0071] Thus, by merging multiple first random values ​​in multiple steps, the number of random values ​​is gradually reduced, and a first tree structure is constructed from bottom to top. Finally, the root node of the first tree structure is obtained, which contains only one random value, resulting in the second random value. Combining the characteristic of the tree structure that the number of nodes gradually decreases from bottom to top, the tree structure is used to realize the merging process of multiple first random values, ultimately yielding the second random value.

[0072] The following section explains the specific process of constructing the first tree structure.

[0073] For example, based on multiple first random values, leaf nodes of the first tree structure are generated, and the values ​​corresponding to two adjacent leaf nodes are merged to generate the parent node of two adjacent leaf nodes in the first tree structure, until the root node of the first tree structure is generated.

[0074] In other words, the values ​​of the leaf nodes at the bottom level of the first tree structure are related to multiple first random values, the values ​​of the other nodes in the first tree structure other than the leaf nodes and the root node are related to the intermediate results of merging adjacent first random values, and the value of the root node of the first tree structure is related to the second random value.

[0075] Figure 4 The illustration shows a schematic diagram of a tree structure provided in at least one embodiment of the present disclosure.

[0076] like Figure 4As shown, the first tree structure may include nodes 1 to 7, nodes 1 to 4 are leaf nodes, the values ​​of nodes 1 to 4 are generated based on a first random value, node 5 is the parent node of nodes 1 and 2, the value of node 5 is generated based on the values ​​of nodes 1 and 2, node 6 is the parent node of nodes 3 and 4, the value of node 6 is generated based on the values ​​of nodes 3 and 4, node 7 is the root node, the value of node 7 is generated based on the values ​​of nodes 5 and 6, and the value of node 7 is related to a second random value.

[0077] For example, multiple first random values ​​can be directly determined as the values ​​of the lowest leaf nodes in the first tree structure. The values ​​of two adjacent leaf nodes are added together to obtain the value of the parent node, until the root node of the first tree structure is generated. The value of the root node is the second random value.

[0078] For example, the hash values ​​corresponding to multiple first random values ​​can be calculated, and the hash values ​​corresponding to multiple first random values ​​can be determined as the values ​​of the leaf nodes at the bottom level of the first tree structure. The values ​​of two adjacent leaf nodes are added together to obtain the value of the parent node, until the root node of the first tree structure is generated. The value of the root node is the hash value corresponding to the second random value.

[0079] Thus, by applying the algorithmic idea of ​​Merkle hash trees to the process of "aggregating multiple first remote proof requests" in one or more embodiments of this disclosure, multiple first random values ​​are aggregated into a second random value, multiple first remote proof requests are aggregated into a second remote proof request, and the generation process of the second remote proof request is ensured to be related to the multiple first remote proof requests, and the second remote proof request is ensured to be associated with the multiple first remote proof requests.

[0080] A remote attestation report can be used to prove that the first service is deployed in a trusted execution environment. That is, by obtaining a remote attestation report based on a second remote attestation request, the first service can prove its own secure and trusted status to the requester.

[0081] Obtaining a remote proof report based on a second remote proof request can be understood as a remote proof report generated in response to and associated with the second remote proof request. For example, when the second remote proof request carries a second random value, the remote proof report may include the second random value to prove that the remote proof report is generated in real time based on the second remote proof request.

[0082] For each of the multiple first remote proof requests, the first service can generate proof information corresponding to each first remote proof request. This proof information can be used to prove that the second remote proof request is generated based on the first remote proof request.

[0083] In other words, in one or more embodiments of this disclosure, since multiple first remote proof requests are aggregated to obtain a new second remote proof request, in order to prove to the requesting party that the second remote proof request is related to the first remote proof request, and to prevent the requesting party from thinking that the second remote proof request is an isolated remote proof request unrelated to the first remote proof request it sent, and thus believing that the remote proof report generated based on the second remote proof request is also unreliable, making the entire remote proof process difficult to achieve, the first service can generate corresponding proof information for each first remote proof request. Using the proof information, the service can inform the requesting party that the remote proof report generated based on the second remote proof request is also related to the first remote proof request, which can also be understood as the remote proof report generated based on the first remote proof request.

[0084] In some possible implementations, proof information corresponding to each first remote proof request is generated based on the sub-paths associated with each first remote proof request in the generation path of the second remote proof request.

[0085] The generation path of the second remote proof request can be understood as the process of generating the second remote proof request from multiple first remote proof requests. For example, the generation path of the second remote proof request may include multiple first remote proof requests, one or more intermediate results and second remote proof requests. The generation path of the second remote proof request represents the process and steps of generating the second remote proof from multiple first remote proof requests.

[0086] The sub-path associated with the first remote proof request can be a part of the generation path of the second remote proof request. The sub-path associated with the first remote proof request can indicate that the generation process of the second remote proof request is related to the first remote proof request. In other words, based on the sub-path associated with the first remote proof request, it can be inferred that the second remote proof request is related to the first remote proof request, and the process of generating the second remote proof request from the first remote proof request can be characterized.

[0087] Thus, the proof information is generated based on the sub-path related to the first remote proof request. Since the sub-path related to the first remote proof request can infer that the generation process of the second remote proof request is related to the first remote proof request, the proof information can prove that the second remote proof request is generated based on the first remote proof request.

[0088] In a scenario where a remote proof request carries a random value, and the second random value carried in the second remote proof request is determined by a first tree structure obtained through multi-step merging of multiple first random values ​​carried in multiple first remote proof requests, a first sub-path of the first tree structure can be obtained. This first sub-path can include nodes related to each first remote proof request. Based on the values ​​corresponding to each node in the first sub-path, proof information corresponding to each first remote proof request can be generated.

[0089] In the first tree structure, leaf nodes can be associated with a first random value, and root nodes can be associated with a second random value. Other nodes besides leaf nodes and root nodes can represent intermediate results in the process of generating the second random value from the first random value. Therefore, the first sub-path including nodes associated with the first remote proof request can represent the process of generating the final second random value from the first random value carried by the first remote proof request. Based on the first sub-path including nodes associated with the first remote proof request, it can be inferred that the second random value is generated based on the first random value.

[0090] The first sub-path that includes the node related to the first remote proof request can be called an existence proof. That is, the first sub-path that includes the node related to the first remote proof request can prove that the first random value exists in the first tree structure. Furthermore, since the first sub-path that includes the node related to the first remote proof request includes the root node, the first sub-path that includes the node related to the first remote proof request can prove that the first random value and the second random value exist in the same first tree structure. That is, the generation process of the second random value is related to the first random value.

[0091] See also Figure 4 Assuming that nodes 1 to 4 correspond to the first random values ​​carried in the first remote proof requests sent by requesters 1 to 4 respectively, for the first remote proof request sent by requester 2, the first sub-path including the nodes related to the first remote proof request sent by requester 2 may include: node 1, node 2, node 6 and node 7. That is, the first sub-path including the nodes related to the first remote proof request sent by requester 2 may include: the leaf node corresponding to the first remote proof request sent by requester 2, the sibling node of the leaf node corresponding to the first remote proof request sent by requester 2, the sibling node of the parent node of the leaf node corresponding to the first remote proof request sent by requester 2, ..., the root node.

[0092] The value of node 5 can be calculated using the values ​​of node 1 and node 2 in the first sub-path. The value of node 7 can be calculated using the value of node 6 in the first sub-path and the calculated value of node 5. The value of node 7 in the first sub-path is compared with the calculated value of node 7. If they match, it indicates that node 2 and node 7 are located in the same first tree structure. The value of node 7 is calculated based on the value of node 2. The generation of node 7 involves node 2. That is, the second remote proof request is generated based on the first remote proof request corresponding to node 2.

[0093] Step S303: Send a remote proof report and proof information corresponding to the first remote proof request sent by each requester to each requester.

[0094] For each requester of a first remote proof request, the first service returns the following two pieces of information as a response to the first remote proof request: a remote proof report obtained based on the second remote proof report and proof information corresponding to the first remote proof request sent by the requester.

[0095] By sending a remote proof report, the requesting party can learn that the remote proof report is generated based on the second remote proof request. By sending proof information, the requesting party can learn that the second remote proof request is generated based on the first remote proof request it sent. In turn, the requesting party can learn that the remote proof report is indirectly generated based on the first remote proof request it sent. Thus, the requesting party can verify the legality of the remote proof report, and then verify the credibility of the first service based on the remote proof report, and then communicate with the first service.

[0096] Correspondingly, at least one embodiment of this disclosure also provides a remote proof method, which will be described below in conjunction with... Figure 5 A remote proof method provided by at least one embodiment of this disclosure will be described in detail.

[0097] Figure 5 The illustration shows a flowchart of a remote proof method provided in at least one embodiment of the present disclosure.

[0098] like Figure 5 As shown, the remote verification method of this embodiment includes steps S501 to S503. In some embodiments, the entity performing the remote verification method can be any requesting party communicating with the first service. The steps included in the remote verification method are described below:

[0099] Step S501: Send a first remote authentication request to the first service.

[0100] Step S502: Receive the remote certification report and first certification information returned by the first service.

[0101] The first remote proof request includes a first random value, meaning the requester initiates a remote proof request to the first service based on the first random value. The remote proof report includes a second random value, meaning the remote proof report returned by the first service is not directly generated based on the requester's first remote proof request, but rather based on a new remote proof request (e.g., the second remote proof request mentioned above). The first proof information is used to prove that the second random value is generated based on the first random value; that is, the first proof information is used to prove that there is a correlation between the new remote proof request (e.g., the second remote proof request mentioned above) on which the remote proof report is based and the first remote proof request sent by the requester.

[0102] The detailed descriptions of steps S501 and S502 above are similar to the detailed descriptions of steps S301 and S302 above, and will not be repeated here.

[0103] Step S503: In response to the successful verification of the remote proof report and the first proof information, a communication request is sent to the first service.

[0104] The requesting party can verify the received remote verification report and primary verification information. After successful verification, the requesting party can initiate a communication request to the primary service; for example, the requesting party can invoke the primary service. In this way, the requesting party ensures the trustworthiness of the primary service before communicating with it, thus ensuring the operational security of the primary service.

[0105] For example, the remote proof report may also carry the service key of the first service. After the requesting party verifies the remote proof report and the first proof information, the requesting party can use the service key of the first service to communicate with the first service.

[0106] The following section describes the verification process for the first service.

[0107] In some embodiments, the requesting party may extract first information associated with the operation of the first service and second information associated with the second remote proof request from the remote proof report, verify the remote proof report using the first information, and verify the first proof information using the second information, and send a communication request to the first service in response to the successful verification of the remote proof report using the first information and the successful verification of the first proof information using the second information.

[0108] For example, the first piece of information can be the core metric result (e.g., a PCR snapshot), and the first piece of information can be generated based on the event log of the first service.

[0109] The second information associated with the second remote proof request can be understood as information that can be used to identify the second remote proof request. For example, the second information associated with the second remote proof request can be a second random value carried by the second remote proof request.

[0110] The requesting party uses the first information to verify the remote proof report, and determines whether the remote proof report can prove the secure and trustworthy status of the first service. It then uses the second information to verify the first proof information, and determines whether the first proof information can prove that the second remote proof request is generated based on the first remote proof request sent by the requesting party, thus completing the trustworthy verification of the first service.

[0111] In some possible implementations, the remote proof report can be encrypted based on the signature key of the first service. In this case, the requester can use the verification key corresponding to the signature key to verify the remote proof report and obtain the plaintext remote proof report. From the plaintext remote proof report, the requester can extract the first information associated with the operation of the first service and the second information associated with the second remote proof request.

[0112] For example, the signing key can be a first private key, which can be a hardware key in a trusted execution environment. The verification key can be a first public key corresponding to the first private key. The first service uses the first private key to sign the remote proof report, ensuring the security of the remote proof report during transmission. The requesting party uses the corresponding first public key to verify the signature and can view the plaintext remote proof report.

[0113] In some embodiments, in response to the first information being consistent with the set security information, the requesting party may determine that the verification of the remote proof report has passed, and in response to the first proof information matching the first remote proof request and the second information, the requesting party may determine that the verification of the first proof information has passed.

[0114] Setting security information can be understood as the trusted baseline of the first service, which can be used to represent the security operation standard of the first service. By comparing the first information and the set security information, the requesting party can determine whether the first service is consistent with the trusted baseline, whether there are vulnerabilities, and then determine whether the remote verification report can be used to prove that the first service is running in a trusted execution environment and whether it can be used to prove the trustworthiness of the first service.

[0115] By determining whether the first proof information matches the first remote proof request and the second information, the requesting party can determine whether the first proof information can prove that the second remote proof request was generated based on the first remote proof request sent by the requesting party. For example, the requesting party can determine whether it can use the first proof information to infer that the second random value was generated by the first random value carried in the first remote proof request sent by the requesting party.

[0116] Thus, when the first proof information matches the first remote proof request and the second information sent by the requesting party, that is, when the first proof information can prove that the second remote proof request is generated based on the first remote proof request sent by the requesting party, the requesting party can verify that the remote proof report is a response generated indirectly for the first remote proof request sent by itself, and the remote proof report is valid and legal.

[0117] The remote proof method provided by one or more embodiments of this disclosure will be described below with reference to the first service in two specific scenarios.

[0118] Figure 6A and Figure 6B The illustration shows a schematic diagram of a remote verification process provided by at least one embodiment of the present disclosure.

[0119] The first service can be deployed in different types of trusted execution environments. See [link / reference] Figure 6A The first service can be deployed in a first type of trusted execution environment, for example, a first type of trusted execution environment can be a trusted domain guest virtual machine (TDVM).

[0120] Requestor A and Requestor B can each send a first remote proof request to the first service. The first service aggregates the first remote proof requests sent by Requestor A and Requestor B to obtain a second remote proof request. Then, by calling the proof library in the first type of trusted execution environment, for example, the proof library can be the TDX Attest library, it generates a remote proof report in response to the second remote proof request, and generates proof information corresponding to the first remote proof request sent by Requestor A and the first remote proof request sent by Requestor B. The remote proof report and the proof information corresponding to the first remote proof request sent by Requestor A are returned to Requestor A, and the remote proof report and the proof information corresponding to the first remote proof request sent by Requestor B are returned to Requestor B. Requestor A and Requestor B can verify the remote proof report and the corresponding proof information respectively, thereby realizing the trusted verification of the first service.

[0121] See Figure 6B The first service can be deployed in a second type of trusted execution environment. For example, the second type of trusted execution environment can be a confidential virtual machine (CVM) built based on SEV technology.

[0122] Requestor A and Requestor B can each send a first remote proof request to the first service. The first service aggregates the first remote proof requests sent by Requestor A and Requestor B to obtain a second remote proof request. Then, by calling the first proof module and the second proof module in the second type of trusted execution environment (for example, the first proof module can be the SEV module and the second proof module can be the TPM module), it generates a remote proof report in response to the second remote proof request, and generates proof information corresponding to the first remote proof request sent by Requestor A and the first remote proof request sent by Requestor B. The remote proof report and the proof information corresponding to the first remote proof request sent by Requestor A are returned to Requestor A, and the remote proof report and the proof information corresponding to the first remote proof request sent by Requestor B are returned to Requestor B. Requestor A and Requestor B can verify the remote proof report and the corresponding proof information respectively, thereby achieving trusted verification of the first service.

[0123] Thus, in the batch remote proof method provided by one or more embodiments of this disclosure, by aggregating multiple remote proof requests sent by multiple requesters and generating only one remote proof report based on the aggregated remote proof requests, batch responses to multiple remote proof requests are achieved, thereby improving the performance and efficiency of remote proof, realizing an efficient remote proof scheme, and making services deployed in a trusted execution environment more robust.

[0124] Based on the batch remote verification method provided in at least one embodiment of this disclosure, at least one embodiment of this disclosure also provides a batch remote verification apparatus. The following will be combined with... Figure 7 This batch remote verification device is described in detail.

[0125] Figure 7 The schematic diagram illustrates the structure of a batch remote verification device provided in at least one embodiment of the present disclosure.

[0126] like Figure 7 As shown, the batch remote verification device 700 of this embodiment includes a communication module 701 and an acquisition module 702. For example, the communication module 701 and the acquisition module 702 can be implemented using hardware (e.g., circuit) modules or software modules, as is the case in the following embodiments, and will not be repeated here. For example, the communication module 701 and the acquisition module 702 can be implemented using a central processing unit (CPU), a general-purpose graphics processing unit (GPGPU), a graphics processing unit (GPU), a tensor processor (TPU), a field-programmable gate array (FPGA), or other forms of processing units with data processing capabilities and / or instruction execution capabilities, along with corresponding computer instructions.

[0127] The communication module 701 is configured to receive multiple first remote authentication requests for the first service from multiple requesters. For example, the communication module 701 can be configured to execute step S301 described above; its specific implementation principle can be found in the relevant description of step S301, and will not be repeated here.

[0128] The acquisition module 702 is configured to: generate a second remote proof request based on the plurality of first remote proof requests; acquire a remote proof report based on the second remote proof request; and acquire multiple proof information corresponding to the plurality of first remote proof requests, wherein each piece of proof information is used to prove that the second remote proof request was generated based on the corresponding first remote proof request. For example, the acquisition module 702 can be configured to execute step S302 described above; its specific implementation principle can be found in the relevant description of step S302, and will not be repeated here.

[0129] The communication module 701 is further configured to send the remote proof report and the proof information corresponding to the first remote proof request sent by the requester to each of the requesting parties. For example, the communication module 701 can be configured to execute step S303 described above; its specific implementation principle can be found in the relevant description of step S303, and will not be repeated here.

[0130] In at least one embodiment of this disclosure, the acquisition module 702 is further configured to: extract a first random value from each of the plurality of first remote proof requests to obtain a plurality of first random values; and generate a second random value based on the plurality of first random values, wherein the second remote proof request includes the second random value.

[0131] In at least one embodiment of this disclosure, the acquisition module 702 is further configured to: perform multi-step merging of the plurality of first random values ​​to obtain a first tree structure; and determine the second random value based on the value corresponding to the root node of the first tree structure.

[0132] In at least one embodiment of this disclosure, the acquisition module 702 is further configured to: generate leaf nodes of the first tree structure based on the plurality of first random values; merge the values ​​corresponding to two adjacent leaf nodes to generate the parent node of the two adjacent leaf nodes in the first tree structure, until the root node of the first tree structure is generated.

[0133] In at least one embodiment of this disclosure, the acquisition module 702 is further configured to: generate proof information corresponding to each of the first remote proof requests based on the sub-paths related to each of the first remote proof requests in the generation path of the second remote proof request.

[0134] In at least one embodiment of this disclosure, the second remote proof request includes a second random value, which is determined based on a first tree structure obtained by merging multiple first random values ​​from the plurality of first remote proof requests in multiple steps. The acquisition module 702 is further configured to: acquire a first sub-path of the first tree structure, wherein the first sub-path includes nodes related to each first remote proof request; and generate proof information corresponding to each first remote proof request based on the values ​​corresponding to each node in the first sub-path.

[0135] It should be noted that, for clarity and brevity, at least one embodiment of this disclosure does not show all the constituent units of the batch remote verification device 700. To achieve the necessary functions of the batch remote verification device 700, those skilled in the art can provide and set other constituent units (not shown) according to specific needs, and one or more embodiments of this disclosure do not limit this.

[0136] Based on the remote verification method provided in at least one embodiment of this disclosure, at least one embodiment of this disclosure also provides a remote verification device. The following will be combined with... Figure 8 The remote verification device is described in detail.

[0137] Figure 8 The schematic diagram illustrates the structure of a remote verification device provided in at least one embodiment of the present disclosure.

[0138] like Figure 8 As shown, the remote verification device 800 of this embodiment includes a communication module 801. For example, the communication module 801 can be implemented using a hardware (e.g., circuit) module or a software module; the following embodiments are similar and will not be repeated. For example, the communication module 801 can be implemented using a central processing unit (CPU), a general-purpose graphics processor (GPGPU), a graphics processing unit (GPU), a tensor processor (TPU), a field-programmable gate array (FPGA), or other processing units with data processing capabilities and / or instruction execution capabilities, along with corresponding computer instructions.

[0139] The communication module 801 is configured to send a first remote authentication request to a first service, wherein the first remote authentication request includes a first random value. For example, the communication module 801 can be configured to execute step S501 described above; its specific implementation principle can be found in the relevant description of step S501, and will not be repeated here.

[0140] The communication module 801 is further configured to receive a remote proof report and first proof information returned by the first service, wherein the remote proof report includes a second random value, and the first proof information is used to prove that the second random value is generated based on the first random value. For example, the communication module 801 can be configured to execute step S502 described above; its specific implementation principle can be found in the relevant description of step S502, and will not be repeated here.

[0141] The communication module 801 is further configured to send a communication request to the first service in response to the successful verification of the remote proof report and the first proof information. For example, the communication module 801 can be configured to execute step S503 described above; its specific implementation principle can be found in the relevant description of step S503, and will not be repeated here.

[0142] In at least one embodiment of this disclosure, the communication module 801 is further configured to: extract first information associated with the operation of the first service and second information associated with the second remote proof request from the remote proof report; verify the remote proof report using the first information and verify the first proof information using the second information; and send a communication request to the first service in response to the successful verification of the remote proof report using the first information and the successful verification of the first proof information using the second information.

[0143] In at least one embodiment of this disclosure, the communication module 801 is further configured to: determine that the remote proof report has been verified in response to the first information being consistent with the set security information; and determine that the first proof information has been verified in response to the first proof information being matched with the first remote proof request and the second information.

[0144] In at least one embodiment of this disclosure, the remote proof report is encrypted based on the signature key of the first service, and the communication module 801 is further configured to: verify the remote proof report using a verification key corresponding to the signature key to obtain a plaintext remote proof report; and extract first information associated with the operation process of the first service and second information associated with the second remote proof request from the plaintext remote proof report.

[0145] It should be noted that, for clarity and brevity, at least one embodiment of this disclosure does not show all the constituent units of the remote verification device 800. To achieve the necessary functions of the remote verification device 800, those skilled in the art can provide and set other constituent units (not shown) according to specific needs, and one or more embodiments of this disclosure do not limit this.

[0146] At least one embodiment of this disclosure also provides an electronic device, including a processing device and a storage device, the storage device including one or more computer program modules; wherein the one or more computer program modules are stored in the storage device and configured to be executed by the processing device, the one or more computer program modules being used to implement the batch remote verification method or remote verification method provided in any embodiment of this disclosure.

[0147] For example, the processing device may be a processor, such as a central processing unit (CPU), digital signal processor (DSP), image processor (GPU), general-purpose graphics processor (GPGPU), or other form of processing unit with data processing capabilities and / or instruction execution capabilities. It may be a general-purpose processor or a dedicated processor and may control other components in the electronic device to perform the desired functions.

[0148] For example, the storage device may be a memory, which may include one or more computer program products. These computer program products may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may, for example, include random access memory (RAM) and / or cache memory. The non-volatile memory may, for example, include read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and a processing device may execute these program instructions to implement the functions (implemented by the processing device) in at least one embodiment of this disclosure and / or other desired functions. Various application programs and various data may also be stored in the computer-readable storage medium, which is not limited by one or more embodiments of this disclosure.

[0149] The following is for reference. Figure 9 The diagram illustrates a structural schematic of an electronic device (e.g., a terminal device or a server) 900 suitable for implementing at least one embodiment of the present disclosure. The terminal device in at least one embodiment of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 9 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of use of at least one embodiment of this disclosure.

[0150] like Figure 9As shown, electronic device 900 may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 901, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 902 or a program loaded from storage device 908 into random access memory (RAM) 903. RAM 903 also stores various programs and data required for the operation of electronic device 900. Processing device 901, ROM 902, and RAM 903 are interconnected via bus 904. Input / output (I / O) interface 905 is also connected to bus 904.

[0151] Typically, the following devices can be connected to I / O interface 905: input devices 906 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 907 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 908 including, for example, magnetic tapes, hard disks, etc.; and communication devices 909. Communication device 909 allows electronic device 900 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 9 An electronic device 900 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0152] In particular, according to one or more embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, one or more embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 909, or installed from a storage device 908, or installed from a ROM 902. When the computer program is executed by a processing device 901, it performs the functions defined in the methods of at least one embodiment of this disclosure.

[0153] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0154] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0155] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0156] The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the aforementioned batch remote verification method or remote verification method.

[0157] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including but not limited to object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0158] One or more embodiments of this disclosure also provide a computer program product comprising one or more computer instructions. When the computer instructions are loaded and executed on a computing device, all or part of the processes or functions described in any embodiment of this disclosure are generated.

[0159] The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, or data center to another website, computer, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means.

[0160] When the computer program product is executed by a computer, the computer performs either the aforementioned bulk remote verification method or any of the aforementioned remote verification methods. The computer program product can be a software installation package; when it is necessary to use either of the aforementioned bulk remote verification methods or remote verification methods, the computer program product can be downloaded and executed on the computer.

[0161] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0162] The units or modules described in at least one embodiment of this disclosure can be implemented in software or hardware. The names of the units or modules do not necessarily limit the specific unit or module itself.

[0163] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.

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

[0165] According to one or more embodiments of this disclosure, Example 1 provides a batch remote proof method, including:

[0166] Receive multiple first remote authentication requests for the first service from multiple requesters;

[0167] A second remote proof request is generated based on the plurality of first remote proof requests, a remote proof report is obtained based on the second remote proof request, and a plurality of proof information corresponding to the plurality of first remote proof requests are obtained, wherein each of the proof information is used to prove that the second remote proof request is generated based on the corresponding first remote proof request;

[0168] Send the remote proof report and the proof information corresponding to the first remote proof request sent by the requester to each of the requesting parties.

[0169] According to one or more embodiments of this disclosure, Example 2 provides the generation of a second remote proof request based on the plurality of first remote proof requests, as in Example 1, including:

[0170] Extract a first random value from each of the plurality of first remote proof requests to obtain a plurality of first random values;

[0171] A second random value is generated based on the plurality of first random values, wherein the second remote proof request includes the second random value.

[0172] According to one or more embodiments of this disclosure, Example 3 provides the generation of a second random value based on the plurality of first random values ​​as in Example 2, including:

[0173] The multiple first random values ​​are merged in multiple steps to obtain a first tree structure;

[0174] The second random value is determined based on the value corresponding to the root node of the first tree structure.

[0175] According to one or more embodiments of this disclosure, Example 4 provides the multi-step merging of the plurality of first random values ​​to obtain a first tree structure, as described in Example 3, including:

[0176] Based on the plurality of first random values, the leaf nodes of the first tree structure are generated;

[0177] The values ​​corresponding to two adjacent leaf nodes are merged to generate the parent node of the two adjacent leaf nodes in the first tree structure, until the root node of the first tree structure is generated.

[0178] According to one or more embodiments of this disclosure, Example 5 provides obtaining multiple proof information corresponding to the plurality of first remote proof requests in any of Examples 1 to 4, including:

[0179] Based on the sub-paths related to each of the first remote proof requests in the generation path of the second remote proof request, proof information corresponding to each of the first remote proof requests is generated.

[0180] According to one or more embodiments of this disclosure, Example Six provides that the second remote proof request in Example Five includes a second random value, the second random value being determined based on a first tree structure obtained by merging multiple first random values ​​from the plurality of first remote proof requests in multiple steps, wherein generating proof information corresponding to each first remote proof request based on the sub-paths related to each first remote proof request in the generation path of the second remote proof request includes:

[0181] Obtain the first sub-path of the first tree structure, wherein the first sub-path includes nodes associated with each of the first remote proof requests;

[0182] Based on the values ​​corresponding to each node in the first sub-path, generate proof information corresponding to each of the first remote proof requests.

[0183] According to one or more embodiments of this disclosure, Example 7 provides a remote proof method, including:

[0184] Send a first remote authentication request to a first service, wherein the first remote authentication request includes a first random value;

[0185] Receive a remote proof report and a first proof information returned by the first service, wherein the remote proof report includes a second random value, and the first proof information is used to prove that the second random value is generated based on the first random value;

[0186] In response to the successful verification of the remote proof report and the first proof information, a communication request is sent to the first service.

[0187] According to one or more embodiments of this disclosure, Example 8 provides, in response to successful verification of the remote proof report and the first proof information, sending a communication request to the first service, as in Example 7, including:

[0188] Extract first information associated with the operation of the first service and second information associated with the second remote proof request from the remote proof report;

[0189] The remote verification report is verified using the first information, and the first verification information is verified using the second information;

[0190] In response to the successful verification of the remote proof report using the first information and the successful verification of the first proof information using the second information, a communication request is sent to the first service.

[0191] According to one or more embodiments of this disclosure, Example 9 provides the verification of the remote proof report using the first information and the verification of the first proof information using the second information, as in Example 8, including:

[0192] In response to the first information being consistent with the set security information, it is determined that the remote verification report has passed verification; and

[0193] In response to the first proof information matching the first remote proof request and the second information, it is determined that the verification of the first proof information is successful.

[0194] According to one or more embodiments of this disclosure, Example 10 provides a remote proof report, as in Example 8, encrypted based on the signature key of the first service. The step of extracting first information associated with the operation of the first service and second information associated with the second remote proof request from the remote proof report includes:

[0195] The remote proof report is verified using the verification key corresponding to the signature key to obtain a plaintext remote proof report;

[0196] Extract first information associated with the operation of the first service and second information associated with the second remote proof request from the remote proof report in the plaintext.

[0197] According to one or more embodiments of this disclosure, Example Eleven provides an electronic device, including:

[0198] At least one processor; and

[0199] At least one memory, including one or more computer program instructions;

[0200] The one or more computer program instructions are executed by the processor to perform the batch remote proof method or remote proof method provided in at least one embodiment of this disclosure.

[0201] According to one or more embodiments of the present disclosure, Example Twelve provides a computer-readable storage medium that non-transitory stores computer-readable instructions, wherein the computer-readable instructions, when executed by a processor, implement the batch remote proof method or remote proof method provided in at least one embodiment of the present disclosure.

[0202] According to one or more embodiments of this disclosure, Example Thirteen provides a computer program product including a computer program that, when executed by a processor, implements a batch remote proof method or a remote proof method provided in at least one embodiment of this disclosure.

[0203] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0204] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0205] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A batch remote proof method, comprising: Receive multiple first remote authentication requests for the first service from multiple requesters; A second remote proof request is generated based on the plurality of first remote proof requests, a remote proof report is obtained based on the second remote proof request, and a plurality of proof information corresponding to the plurality of first remote proof requests are obtained, wherein each of the proof information is used to prove that the second remote proof request is generated based on the corresponding first remote proof request; Send the remote proof report and the proof information corresponding to the first remote proof request sent by the requester to each of the requesting parties.

2. The batch remote verification method according to claim 1, wherein, The step of generating a second remote proof request based on the plurality of first remote proof requests includes: Extract a first random value from each of the plurality of first remote proof requests to obtain a plurality of first random values; A second random value is generated based on the plurality of first random values, wherein the second remote proof request includes the second random value.

3. The batch remote verification method according to claim 2, wherein, The step of generating a second random value based on the plurality of first random values ​​includes: The multiple first random values ​​are merged in multiple steps to obtain a first tree structure; The second random value is determined based on the value corresponding to the root node of the first tree structure.

4. The batch remote verification method according to claim 3, wherein, The step of merging the multiple first random values ​​in multiple steps to obtain the first tree structure includes: Based on the plurality of first random values, the leaf nodes of the first tree structure are generated; The values ​​corresponding to two adjacent leaf nodes are merged to generate the parent node of the two adjacent leaf nodes in the first tree structure, until the root node of the first tree structure is generated.

5. The batch remote verification method according to any one of claims 1 to 4, wherein, The step of obtaining multiple proof information corresponding to the multiple first remote proof requests includes: Based on the sub-paths related to each of the first remote proof requests in the generation path of the second remote proof request, proof information corresponding to each of the first remote proof requests is generated.

6. The batch remote verification method according to claim 5, wherein, The second remote proof request includes a second random value, which is determined based on a first tree structure obtained by merging multiple first random values ​​from the plurality of first remote proof requests in multiple steps. The generation of proof information corresponding to each first remote proof request is based on the sub-paths related to each first remote proof request in the generation path of the second remote proof request, including: Obtain the first sub-path of the first tree structure, wherein the first sub-path includes nodes associated with each of the first remote proof requests; Based on the values ​​corresponding to each node in the first sub-path, generate proof information corresponding to each of the first remote proof requests.

7. A remote proof method, comprising: Send a first remote authentication request to a first service, wherein the first remote authentication request includes a first random value; Receive a remote proof report and a first proof information returned by the first service, wherein the remote proof report includes a second random value, and the first proof information is used to prove that the second random value is generated based on the first random value; In response to the successful verification of the remote proof report and the first proof information, a communication request is sent to the first service.

8. The remote proof method according to claim 7, wherein, The step of sending a communication request to the first service in response to the successful verification of the remote proof report and the first proof information includes: Extract first information associated with the operation of the first service and second information associated with the second remote proof request from the remote proof report; The remote verification report is verified using the first information, and the first verification information is verified using the second information; In response to the successful verification of the remote proof report using the first information and the successful verification of the first proof information using the second information, a communication request is sent to the first service.

9. The remote proof method according to claim 8, wherein, The step of verifying the remote proof report using the first information and verifying the first proof information using the second information includes: In response to the first information being consistent with the set security information, it is determined that the remote verification report has passed verification; and In response to the first proof information matching the first remote proof request and the second information, it is determined that the verification of the first proof information is successful.

10. The remote proof method according to claim 8, wherein, The remote proof report is encrypted based on the signature key of the first service. Extracting first information associated with the operation of the first service and second information associated with the second remote proof request from the remote proof report includes: The remote proof report is verified using the verification key corresponding to the signature key to obtain a plaintext remote proof report; Extract first information associated with the operation of the first service and second information associated with the second remote proof request from the remote proof report in the plaintext.

11. An electronic device, comprising: At least one processor; as well as At least one memory, including one or more computer program instructions; Wherein, the one or more computer program instructions are executed by the processor to perform the method according to any one of claims 1 to 6 or the method according to any one of claims 7 to 10.

12. A computer-readable storage medium for non-transitory storage of computer-readable instructions, wherein, When the computer-readable instructions are executed by a processor, they implement the method of any one of claims 1 to 6 or the method of any one of claims 7 to 10.

13. A computer program product comprising a computer program that, when executed by a processor, implements the method of any one of claims 1 to 6 or the method of any one of claims 7 to 10.

Citation Information

Patent Citations

  • Verification method and system for mirror layer measurement list of application container

    CN115146310A

  • Trusted proof method and communication device

    CN116388965A

  • Aggregation trusted authentication method and system and storage medium

    CN117411656A

  • Security verification method of distributed large model service, medium, equipment and product

    CN120512305A

  • Verification of computation by untrusted source

    US10873462B1