Remote attestation method and device for multiple services, medium and product
By introducing a trust hub into the business system to perform unified and trusted verification of multiple cloud services, the problems of high resource consumption and long verification links caused by multiple remote verifications are solved, and an efficient remote verification process is achieved.
Patent Information
- Application Number
- CN202511983192.7
- 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
In business systems with multiple cloud services, when external users need to remotely verify multiple cloud services, existing technologies require performing similar remote verification processes multiple times, resulting in high resource consumption and long verification links, which affects the stability and verification efficiency of the business system.
An intermediate node (trust hub) is introduced to perform unified and trustworthy verification of multiple services, and a single remote verification report is generated instead of separate reports generated by multiple services, simplifying the verification process and reducing resource consumption.
By leveraging the trust hub, efficient remote verification of multiple services was achieved, reducing resource consumption and verification time, and improving the stability and verification efficiency of the business system.
Smart Images

Figure CN121585458A_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of this disclosure relate to a remote authentication method for multiple services, a remote authentication method, an electronic device, a computer-readable storage medium, and a computer program product. Background Technology
[0002] With the continuous development of cloud computing, various cloud services have emerged. In order to meet security and compliance requirements, some cloud service providers deploy cloud services within a trusted execution environment (TEE).
[0003] Trusted Execution Environments (TEEs) provide a remote attestation mechanism. Cloud services deployed in TEEs can provide remote attestation reports to external users to prove the security of the service.
[0004] In systems with complex business logic, there are often multiple different services. External users may need to remotely verify multiple different services. The remote verification process will consume a lot of resources. Therefore, it is particularly important to achieve efficient remote verification. Summary of the Invention
[0005] This summary section is provided to briefly introduce the concepts, which will be described in detail in the detailed description section below. This summary section is not intended to identify key or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0006] At least one embodiment of this disclosure provides a remote verification method for multiple services, comprising: receiving remote verification reports sent by the multiple services, verifying the remote verification reports to obtain verification results; and in response to receiving a remote verification request from a first requester for at least one of the multiple services, sending a first remote verification report to the first requester based on the verification results, wherein the first remote verification report is used to prove that the trusted verification of the at least one service has passed.
[0007] At least one embodiment of this disclosure provides a remote verification method, comprising: sending a remote verification request to a second service for at least one of a plurality of first services; receiving a first remote verification report sent by the second service, wherein the first remote verification report is used to verify that the at least one first service has passed trusted verification; and in response to the verification of the first remote verification report, sending a communication request to the at least one first service.
[0008] At least another embodiment of this disclosure provides a remote verification apparatus for multiple services, comprising: a verification module configured to: receive remote verification reports sent by the multiple services, verify the remote verification reports, and obtain a verification result; and a sending module configured to: in response to receiving a remote verification request from a first requester for at least one of the multiple services, send a first remote verification report to the first requester based on the verification result; wherein the first remote verification report is used to prove that the trusted verification of the at least one service has passed.
[0009] At least another embodiment of this disclosure provides a remote verification apparatus, comprising: a communication module configured to: send a remote verification request to a second service for at least one first service among a plurality of services; the communication module is further configured to: receive a first remote verification report sent by the second service, wherein the first remote verification report is used to verify that the at least one first service has passed trusted verification; the communication module is further configured to: send a communication request to the at least one first service in response to the successful verification of the first remote verification report.
[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 remote authentication method or remote authentication method for multiple services provided in at least one embodiment of this disclosure.
[0011] At least one further embodiment of this disclosure provides a computer-readable storage medium that non-transitory stores computer-readable instructions, wherein, when executed by a processor, the computer-readable instructions implement a remote authentication method or remote authentication method for multiple services 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 remote authentication method or remote authentication method for multiple services 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 of a business system provided by at least one embodiment of the present disclosure;
[0016] Figure 3 The illustration schematically shows a flowchart of a remote authentication method for multiple services provided in at least one embodiment of the present disclosure;
[0017] Figure 4 This illustration schematically depicts an interaction between a requester and a trust center, provided in at least one embodiment of this 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 6 This illustration schematically depicts an interaction diagram between a requester, a second service, and a first service, provided in at least one embodiment of this disclosure.
[0020] Figure 7 The schematic diagram illustrates a structural schematic of a remote authentication device for multiple services 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] In some systems with complex business logic, there are often multiple different cloud services that work together to complete the business logic.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] Figure 1 The illustration shows a schematic diagram of a remote verification process provided by at least one embodiment of the present disclosure.
[0040] like Figure 1 As shown, the entities involved in the remote proof process can include Challenger 111 and multiple provers. Figure 1The following example uses three provers: Prover 101, Prover 102, and Prover 103. Prover 101, Prover 102, and Prover 103 can be understood as entities running in a trusted execution environment that need to prove their security to a challenger. For example, Prover 101, Prover 102, and Prover 103 could be cloud services, or they could be deployed in the same business system to collaboratively complete the business logic of that system. Challenger 111 can be understood as an entity using the provers and wanting to verify their security. For example, Challenger 111 could be a user of a cloud service.
[0041] Taking the remote proof process between challenger 111 and prover 101 as an example, challenger 111 sends a remote proof request to prover 101. For example, challenger 111 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 111. Based on the remote proof report, challenger 111 verifies that prover 101 is deployed in a trusted execution environment, thus completing the trusted verification of prover 101.
[0042] The remote proof process between Challenger 111 and Proofreader 102, and between Challenger 111 and Proofreader 103, is similar to that between Challenger 111 and Proofreader 101, and will not be described in detail here.
[0043] In a business system that includes multiple cloud services, external users may have a need to remotely verify the credentials of multiple cloud services within the business system in order to ensure the reliability of each cloud service. In other words, for an external user, the business system may need to perform multiple similar remote verification processes to remotely verify the credentials of multiple cloud services. Each cloud service needs to generate a corresponding remote verification report based on the remote verification request sent by the external user, and then send the corresponding remote verification report to the external user respectively.
[0044] In the scenario described above, where an external user performs remote verification with multiple cloud services, the overall verification chain is long and includes multiple similar remote verification processes, affecting the remote verification experience of the external user. Furthermore, the remote verification process also consumes certain resources. For example, transmitting remote verification requests and reports consumes transmission resources, and generating reports consumes computing resources. In resource-intensive business systems (such as inference service systems), the aforementioned scenario of an external user performing remote verification with multiple cloud services can impact the stability of the business system.
[0045] To at least partially solve the above-mentioned technical problem, at least one embodiment of this disclosure provides a remote verification method for multiple services. The method includes: receiving remote verification reports sent by multiple services, verifying the remote verification reports to obtain verification results, and in response to receiving a remote verification request from a first requester for at least one of the multiple services, sending a first remote verification report to the first requester based on the verification results. The first remote verification report is used to prove that the trusted verification of at least one service has passed.
[0046] In a remote verification method for multiple services provided in at least one embodiment of this disclosure, an intermediate node is introduced between the requester and the multiple services. This intermediate node performs trusted verification on the multiple services and responds to the requester's remote verification request for at least one service. For the requester's remote verification request for at least one service, a remote verification report including the verification results for at least one service is generated and returned to the requester, enabling the requester to indirectly complete the trusted verification of at least one service. Thus, only one remote verification report needs to be generated to achieve the remote verification process for at least one service, eliminating the need to generate remote verification reports for each service, thereby reducing the resource consumption of remote verification.
[0047] Based on the remote authentication method for multiple services provided in at least one embodiment of this disclosure, at least one embodiment of this disclosure also provides a remote authentication method, a remote authentication device for multiple services, a remote authentication device, an electronic device, a computer-readable storage medium, and a computer program product.
[0048] The present disclosure and some examples thereof will now be described in detail with reference to the accompanying drawings.
[0049] Figure 2 The illustration shows an application scenario diagram of a business system provided by at least one embodiment of the present disclosure.
[0050] like Figure 2 As shown, the application scenario provided in this embodiment may include a business system 200, which can be understood as a software system that provides business services. For example, the business system 200 may be an inference service system.
[0051] The business system 200 may include multiple services 220, each providing different types of services. These services collaborate within the business system 200 to complete various business logic tasks. For example, the business system 200 may include services 221, 222, ..., 22N, where N is an integer greater than 1. Furthermore, the multiple services 220 can be deployed in a trusted execution environment (TEX) to provide services within that environment.
[0052] The application scenarios provided in this embodiment may also include a requester 240, which can be understood as a subject that uses the business system 200 and establishes a connection with the business system 200. For example, the requester 240 may be a user or other external service.
[0053] In one or more embodiments of this disclosure, during the remote authentication process between the requester 240 and multiple services 220, the multiple services 220 do not directly respond to the remote authentication request of the requester 240. Instead, an intermediate node (e.g., a middle node) is introduced between the requester 240 and the multiple services 220. Figure 2 The Trust Hub 210 (in the context of the system) utilizes an intermediary node between the requester 240 and multiple services 220 to respond to the remote authentication requests of the requester 240. For example, the Trust Hub 210 can be deployed in a Trusted Execution Environment. The Trust Hub 210 communicates with the requester 240 and also with multiple services 220. That is, the intermediary node between the requester 240 and multiple services 220 performs trusted management of the multiple services 220 and processes the remote authentication requests of the requester 240.
[0054] In some embodiments, a trusted verification link may exist between the trust hub 210 and multiple services 220. For example, multiple services 220 may periodically report corresponding remote verification reports to the trust hub 210. The trust hub 210 may verify the remote verification reports sent by multiple services 220 in each period. That is, the intermediate node between the requester 240 and multiple services 220 performs unified and centralized trusted verification of multiple services 220 in the business system 200.
[0055] In some embodiments, a remote verification link may exist between the trust hub 210 and the requester 240. For example, the requester 240 may send a remote verification request to the trust hub 210 for at least one of the multiple services 220. The trust hub 210 may return its own remote verification report to the requester 240. That is, the remote verification report of the trust hub 210 itself serves as the response of the requester 240 to the remote verification request for at least one of the multiple services 220. The remote verification report of the trust hub 210 can be used to prove that the trusted verification of at least one of the multiple services 220 has passed. In this way, the requester 240 only needs to verify the remote verification report of the trust hub 210. After completing the trusted verification of the trust hub 210, the trusted verification of at least one of the multiple services 220 is indirectly completed.
[0056] By separating the control plane and data plane in the business system 200, and introducing a trust hub 210 in the control plane, the requester 240 only needs to verify the trust hub 210. The other data plane services 220 are all verified by the trust hub 210, which simplifies the trusted verification link for the requester 240 for the services 220. Especially in the process of remote verification for multiple services 220 by the requester 240, it is not necessary for multiple services 220 to generate and send corresponding remote verification reports to the requester 240. The trust hub 210 can generate its own remote verification report to achieve trusted verification for multiple services 220, thereby improving the efficiency of remote verification.
[0057] In some embodiments, the business system 200 further includes a log 230. An audit link may exist between the trust hub 210 and the multiple services 220 and the log 230. For example, the multiple services 220 may write their corresponding remote verification reports to the log 230, and the trust hub 210 may also write the verification results of the remote verification reports of the multiple services 220 to the log 230. In addition, the requesting party 240 may also initiate an audit request to the log 230 to obtain the log 230, view the remote verification reports of the multiple services 220 stored in the log 230 and the verification results of the remote verification reports of the multiple services 220 by the trust hub 210, thereby realizing the audit of the business system 200.
[0058] The following will combine Figures 3 to 4 A remote authentication method for multiple services is described in detail according to at least one embodiment of this disclosure.
[0059] Figure 3 The illustration schematically shows a flowchart of a remote authentication method for multiple services provided in at least one embodiment of the present disclosure.
[0060] like Figure 3 As shown, the remote authentication method for multiple services in this embodiment includes steps S301 to S302. In some embodiments, the executing entity of the remote authentication method for multiple services can be an intermediate node between the requester and the multiple services, such as a trust hub for performing trusted verification of the multiple services and responding to remote authentication requests sent by the requester for at least one service. The steps included in the remote authentication method are described below:
[0061] Step S301: Receive remote verification reports sent by multiple services, verify the remote verification reports, and obtain the verification results.
[0062] Multiple services can be understood as multiple confidential services deployed in a trusted execution environment. For example, multiple services can all be deployed in the trusted execution environment of the same business system. One or more embodiments of this disclosure do not limit the type of multiple services. For example, multiple services can be large model inference services. 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.
[0063] In one or more embodiments of this disclosure, an intermediate node between the requester and multiple services pre-verifies the trustworthiness of the multiple services. That is, the intermediate node between the requester and multiple services receives remote proof reports sent by each of the multiple services, and then the intermediate node between the requester and multiple services verifies the remote proof reports of the multiple services to obtain a verification result that characterizes whether the trustworthiness verification of the multiple services has passed.
[0064] Remote verification reports sent by multiple services can be used to prove that multiple services are deployed in a trusted execution environment.
[0065] In other words, unlike the traditional remote verification process where multiple services generate and return their own remote verification reports after receiving a remote verification request from the requester, in one or more embodiments of this disclosure, an intermediate node between the requester and multiple services pre-verifies the trustworthiness of the multiple services, and the intermediate node responds to the remote verification request sent by the requester on behalf of the multiple services.
[0066] In some embodiments, considering that the security and trust status may change during the operation of multiple services, in order to ensure the reliability and accuracy of the remote verification process, an intermediate node between the requester and multiple services can periodically perform trust verification on multiple services. For example, the intermediate node between the requester and multiple services can receive remote verification reports sent by multiple services in the current period and verify the remote verification reports sent by multiple services in the current period to update the verification results of the previous period.
[0067] In other words, in each cycle, multiple services can report their remote verification reports to the intermediate node between the requester and the multiple services. The intermediate node between the requester and the multiple services verifies the received remote verification reports of the multiple services to complete the trusted verification of the multiple services in the current cycle, and updates the verification results of the multiple services to the verification results obtained in the current cycle.
[0068] In this way, by periodically verifying the trustworthiness of multiple services through intermediate nodes between the requester and multiple services, and continuously updating the verification results based on the actual operating status of multiple services, the verification results of multiple services are kept up-to-date. This ensures the accuracy of the information used to represent the security and trustworthiness status of at least one service in the first remote verification report fed back to the first requester by the intermediate nodes between the requester and multiple services, and guarantees the accuracy of the first requester's judgment on the trustworthiness verification status of at least one service.
[0069] One or more embodiments of this disclosure do not limit the manner in which the intermediate node between the requester and the multiple services periodically receives remote verification reports sent by the multiple services. For example, the intermediate node between the requester and the multiple services may periodically send remote verification requests to the multiple services, thereby periodically receiving remote reports returned by the multiple services and updating the verification results. Alternatively, the multiple services may periodically send their own remote verification reports to the intermediate node between the requester and the multiple services, so that the intermediate node between the requester and the multiple services updates the verification results.
[0070] Remote proof requests can carry a random value (nonce). Different remote proof requests carry different random values. That is, random values are used to distinguish different remote proof requests. Correspondingly, the remote proof report generated based on the remote proof request can also be related to the random value, which ensures that each remote proof process is different.
[0071] For example, when an intermediate node between the requester and multiple services periodically sends remote proof requests to multiple services, the intermediate node between the requester and multiple services can send remote proof requests to multiple services based on a first random value corresponding to each service in the current period, and receive remote proof reports from multiple services based on the first random value. That is, in the same period, the intermediate node between the requester and multiple services carries different first random values in the remote proof requests for different services.
[0072] In each period, the intermediate nodes between the requester and multiple services update a first random value. The updated first random value for the current period is then used to send remote proof requests to the multiple services. For example, the first random value for the current period can be used as the value of the first field in the remote proof request, thus associating the remote proof request for the current period with the first random value for the current period. The remote proof reports returned by the multiple services need to be generated based on the first random value; for example, the remote proof reports returned by the multiple services may include the first random value for the current period.
[0073] For example, in the case where multiple services periodically send remote proof reports to the intermediate nodes between the requester and the multiple services, the remote proof reports sent by the multiple services may also include the first random value for the next period.
[0074] In each cycle, the intermediate node between the requester and multiple services can extract the first random value for the next cycle from the remote proof reports sent by multiple services and complete the update of the first random value.
[0075] In this way, by updating the first random value in each period through the intermediate node between the requester and multiple services, and performing trusted verification on multiple services with different first random values in different periods, it is ensured that the remote proof reports returned by multiple services in different periods are not generated in the past, but are newly generated in the current period, such as in response to the remote proof request sent by the intermediate node between the requester and multiple services in the current period, thus ensuring that the trusted verification results of multiple services by the intermediate node between the requester and multiple services in each period are accurate.
[0076] Figure 4 The illustration shows an interaction diagram between a requester and a trust center provided in at least one embodiment of the present disclosure.
[0077] like Figure 4 As shown, the intermediate node between the requester and multiple services can be a trust hub. When multiple services connect, they can send registration requests to the trust hub, enabling the trust hub to perform trusted management of the newly connected services. The trust hub and multiple services can periodically execute the following steps: the trust hub sends remote authentication requests to the multiple services; the multiple services respond to the remote authentication requests sent by the trust hub, generate a remote authentication report for that period, and return the remote authentication report for that period to the trust hub; the trust hub can verify the remote authentication reports of the multiple services for that period and obtain the verification results of the multiple services for that period.
[0078] In some embodiments, the intermediate nodes between the requester and multiple services may also have corresponding first logs. In this case, the intermediate nodes between the requester and multiple services may also write the verification results into the first logs. Furthermore, the first logs may also include remote verification reports sent by multiple services. The first logs may be used to respond to the audit request of the first requester and be sent to the first requester.
[0079] The first log can be a transparent log, which can be understood as an immutable audit log. It is verifiable, tamper-proof, and publicly traceable. Compared with traditional logs, transparent logs improve transparency and credibility. For example, the first log can be a distributed ledger based on blockchain.
[0080] In other words, see [link / reference] Figure 4 In each cycle, multiple services can write the remote proof reports sent in that cycle into the first log. The intermediate node between the requester and multiple services can also write the verification results of the remote proof reports reported by multiple services in that cycle into the first log. The first log is used to record the trusted verification process related to multiple services.
[0081] Thus, if the first requester has an auditing requirement and wants to view the trusted verification history of multiple services by the intermediate nodes between the requester and multiple services, it can obtain the first log by sending an auditing request, and view the remote verification process of multiple services by the intermediate nodes between the requester and multiple services in different periods recorded in the first log, thereby achieving auditing of multiple services.
[0082] In some possible implementations, the process of writing the verification result to the first log can be accomplished by combining the JSON-based Lightweight Authentication and Message Exchange Standard (JWT token) technology. For example, the first remote proof report sent by the intermediary nodes between the requester and multiple services to the first requester may include a signature verification key. The intermediary nodes between the requester and multiple services can use the signature key corresponding to the signature verification key to sign the verification result, obtaining a signature verification result. The intermediary nodes between the requester and multiple services can write the signature verification result to the first log, so that the first requester can use the signature verification key in the first remote proof report to verify the signature verification result and obtain the verification result.
[0083] In other words, the verification result can be understood as the payload in the JWT token, and the signing key can be understood as the signature in the JWT token. The intermediate nodes between the requester and multiple services use the signing key to sign the verification result and add the verification key to the first remote proof report returned to the first requester. This allows the first requester to extract the verification key from the first remote proof report and use the verification key to verify the signature verification result in the first log to obtain the plaintext verification result.
[0084] In this way, by using a signing key to sign the verification result through intermediate nodes between the requester and multiple services, third parties cannot forge the information written in the first log, thus ensuring the security of the first log and thereby ensuring the security and confidentiality of the audit process.
[0085] Step S302: In response to receiving a remote certification request from the first requester for at least one of the multiple services, a first remote certification report is sent to the first requester based on the verification result.
[0086] A remote verification request for at least one of a plurality of services can be used to request trusted verification of at least one of the plurality of services. In one or more embodiments of this disclosure, the remote verification request for at least one of the plurality of services can be sent by a first requesting party, which can be understood as a communicating party that has a remote verification requirement for at least one of the plurality of services.
[0087] The first requester may initiate remote authentication for at least one of the multiple services. For example, when multiple services are deployed in the same business system, the first requester may perform trusted authentication on at least some of the multiple services in the business system based on business requirements when using the business system.
[0088] When the first requester has a trusted verification requirement for at least two of the multiple services, one or more embodiments of this disclosure do not limit the way the first requester sends remote verification requests. For example, the first requester may send remote verification requests for each of the at least two services separately, that is, the number of remote verification requests for at least two of the multiple services by the first requester is multiple; or, for another example, the first requester may send a batch of remote verification requests for at least two services, that is, the number of remote verification requests for at least two of the multiple services by the first requester is one, and trusted verification of at least two of the multiple services is performed through one remote verification request.
[0089] In one or more embodiments of this disclosure, a remote authentication request sent by a first requester for at least one of a plurality of services will not be responded to by at least one service, but will instead be received by an intermediate node between the requester and the plurality of services. This intermediate node will then act as a substitute for at least one of the services in providing a unified response to the remote authentication request sent by the first requester. Since the intermediate node between the requester and the plurality of services can also be deployed in a trusted execution environment, the trusted authentication of at least one of the services by the first requester can be indirectly achieved through the trusted authentication of the intermediate node between the requester and the plurality of services by the first requester.
[0090] After obtaining the remote authentication request from the first requester for at least one of the multiple services, the intermediate node between the requester and the multiple services can determine whether the trusted verification of at least one service has passed. Combining the verification results obtained in advance by the intermediate node between the requester and the multiple services, a response to the remote authentication request sent by the first requester is generated.
[0091] For example, in response to the verification result indicating that at least one service has been verified, the intermediate node between the requester and multiple services can send a first remote verification report to the first requester.
[0092] In other words, in one or more embodiments of this disclosure, for a remote proof request actually sent by the first requester, the intermediate node between the requester and multiple services acts as a proxy for multiple services to respond, eliminating the need for multiple services to respond multiple times, reducing the number of responses in the remote proof process, and reducing the resources consumed in the remote proof process.
[0093] In one or more embodiments of this disclosure, the response of the first requester to a remote attestation request for at least one of the multiple services includes a first remote attestation report. The first remote attestation report can be understood as a remote attestation report generated by an intermediate node between the requester and the multiple services in response to the first requester's remote attestation request for at least one of the multiple services. The first remote attestation report can be used to prove that the trusted verification of at least one service has passed. The first remote attestation report can also be used to prove that the intermediate node between the requester and the multiple services is deployed in a trusted execution environment.
[0094] In other words, the intermediate nodes between the requester and multiple services can inform the first requester of their own security and confidentiality by generating their own remote verification reports. At the same time, since the first requester's remote verification request is for at least one of the multiple services, and the intermediate nodes between the requester and multiple services are also responsible for performing trusted verification on multiple services, the intermediate nodes between the requester and multiple services can add information to the generated first remote verification report to prove that the trusted verification of at least one service has passed, thus informing the first requester of the security and confidentiality of at least one service.
[0095] For example, an intermediate node between the requester and multiple services can add a field to the first remote verification report to characterize the verification result of at least one service. The value of this field proves that the trusted verification of at least one service has passed.
[0096] By pre-verifying the trusted services through an intermediate node between the requester and multiple services, and storing the verification results of multiple services (e.g., verification results indicating whether the trusted verification of multiple services has passed or failed), in response to a remote proof request for at least one service sent by the first requester, the system determines whether at least one service has passed the trusted verification by obtaining the verification results. When the verification result of at least one service indicates that the trusted verification has passed, the system adds information to the first remote proof report to prove that at least one service is deployed in a trusted execution environment, and sends the first remote proof report to the first requester, replacing the remote proof response of at least one service.
[0097] Thus, in response to the remote proof request sent by the first requester, the intermediate nodes between the requester and multiple services do not need to perform trusted verification of at least one service in real time. Instead, they can quickly respond to the remote proof request sent by the first requester by obtaining the verification results of at least one service that has been pre-stored, thereby improving the efficiency of remote proof.
[0098] Upon receiving the first remote verification report, the first requesting party can verify the first remote verification report and, based on the information in the first remote verification report used to prove that at least one service has passed the trusted verification, ensure the secure and trusted status of at least one service.
[0099] Thus, regardless of whether the first requester requests remote proof for one or multiple services, a first remote proof report can be generated by an intermediate node between the requester and multiple services, and the first remote proof report can be sent to the first requester, thereby achieving batch remote proof for at least one of the multiple services.
[0100] In some embodiments, considering that communication with at least one of the multiple services requires a service key, the intermediate node between the requester and the multiple services may also send the service key of at least one service to the first requester, and the first requester may communicate with at least one service based on the service key of at least one service.
[0101] In other words, each of the multiple services has a corresponding service key. The first requester needs to carry the service key to communicate with the service. For example, the first requester needs to make a service call based on the corresponding service key. Therefore, in one or more embodiments of this disclosure, the intermediate node between the requester and the multiple services, in addition to returning a first remote proof report to the first requester, also returns the service key of at least one service to the first requester.
[0102] Thus, after the first requester completes the trusted verification of at least one service, it can use the service key carried in the response returned during the trusted verification process to access at least one service without having to initiate an additional request to obtain the service key, thereby reducing the number of requests and reducing resource consumption.
[0103] In some possible implementations, considering the potential transmission risks associated with intermediate nodes between the requester and multiple services sending plaintext service keys to the first requester, these intermediate nodes can also sign the service keys. For example, the first remote certification report may include a verification key. The intermediate nodes between the requester and the multiple services can use the signing key corresponding to the verification key to sign the service keys of at least one service, obtaining a signed service key. This signed service key is then sent to the first requester, enabling the first requester to verify the signed service key using the verification key in the first remote certification report, thus obtaining the service keys of at least one service.
[0104] By signing the service key through intermediary nodes between the requester and multiple services, the integrity, authenticity, and non-repudiation of the service key are ensured. By adding a verification key to the first remote report through the intermediary nodes between the requester and multiple services, the first requester can obtain the verification key at a low cost without additional transmission of the verification key. This enables the first requester to verify the signed service key, ensuring that the service key has not been tampered with and originates from the intermediary nodes between the requester and multiple services.
[0105] For example, the signing key can be the first private key, and the verification key can be the first public key corresponding to the first private key.
[0106] When there are multiple instances of intermediate nodes between the requester and multiple services, the multiple instances can share the same signing key and verification key. For example, multiple instances can generate signing keys and verification keys by electing a leader and share the signing keys and verification keys with other instances.
[0107] The intermediate node between the requester and multiple services adds a first public key to the first remote proof report and signs the service key of at least one service with the first private key. After the first requester receives the first remote proof report, it verifies the first remote proof report. After the verification of the first remote proof report is successful, it extracts the first public key from the first remote proof report and then uses the first public key to verify the signature of the service key to obtain the service key of at least one service.
[0108] In this way, the reliability of the service key is ensured by having the service key signed by an intermediate node between the requester and multiple services, and then transmitting the verification key to the first requester.
[0109] The following will combine Figures 5 to 6 A remote proof method provided by at least one embodiment of this disclosure will be described in detail.
[0110] Figure 5The illustration shows a flowchart of a remote proof method provided in at least one embodiment of the present disclosure.
[0111] like Figure 5 As shown, the remote verification method of this embodiment includes steps S501 to S503. In some embodiments, the executing entity of the remote verification method can be a requester communicating with multiple services, such as a first requester. The steps included in the remote verification method are described below:
[0112] Step S501: Send a remote authentication request to the second service for at least one of the multiple first services.
[0113] Step S502: Receive the first remote authentication report sent by the second service.
[0114] For example, the first service can be understood as the multiple services mentioned above, and the second service can be understood as the intermediate node between the requester and the multiple services mentioned above.
[0115] In other words, when the requester has a remote proof requirement for at least one first service, the remote proof request is not sent directly to at least one service, but to a second service. The second service responds to the remote proof request and receives a first remote proof report returned by the second service. This first remote proof report is used to prove that the trusted verification of at least one service has passed.
[0116] 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.
[0117] Step S503: In response to the successful verification of the first remote proof report, a communication request is sent to at least one first service.
[0118] Taking the requester as the first requester as an example, the first requester can verify the first remote proof report. Although the first remote proof report is not generated and returned by at least one first service, since the first remote proof report carries information to prove that the trusted verification of at least one first service has passed, after the first requester verifies the first remote proof report, it can indirectly verify that at least one first service is in a secure and trusted state, and thus can communicate with at least one first service, ensuring the security and trustworthiness of the communication process with at least one first service.
[0119] For example, the first requester can use the service key to communicate with at least one first service.
[0120] For example, the first requester can encrypt the communication data using a user key to obtain ciphertext communication data, and encrypt the user key using a service key of at least one first service to obtain at least one ciphertext user key. The first requester can then send the ciphertext communication data and the at least one ciphertext user key to the corresponding first service, so that the at least one first service can decrypt the corresponding ciphertext user key using a service key to obtain a user key, and then decrypt the ciphertext communication data using the user key to obtain the communication data.
[0121] Communication data can be understood as the data that the first requester needs to send to the first service. For example, when the first service is a large model inference service, the communication data may include user input.
[0122] A user key can be understood as a key associated with the first requester. For example, a user key can be generated by the first requester calling a key management service, or it can be generated by the first requester's own key manager.
[0123] In one or more embodiments of this disclosure, the first requester encrypts the communication data using a user key and then encrypts the user key using a service key, ensuring that during the communication process between the first requester and at least one first service, the data transmitted by the first requester to at least one first service is encrypted, thus guaranteeing the security of the communication process.
[0124] Furthermore, since the service key is generated by the first service itself, after receiving the information sent by the first requester, at least one first service can use the service key to decrypt and obtain the user key, and then use the user key to decrypt and obtain the communication data. That is, at least one first service can successfully obtain the plaintext communication data without affecting the normal communication between the first requester and at least one service.
[0125] Figure 6 The illustration shows an interaction diagram between a requester, a second service, and a first service, provided in at least one embodiment of the present disclosure.
[0126] See Figure 6The intermediate node between the requester and multiple first services can be a second service. The interaction process between the first requester, the second service, and at least one first service may include the following steps: The first requester sends a remote proof request for at least one first service, initiating trusted verification of at least one first service; the second service, acting on behalf of at least one first service, provides a remote proof response, returning to the first requester a first remote proof report generated by the second service to prove that at least one first service has passed trusted verification, and a signed service key obtained by signing the service keys of at least one first service with a signing key. The first requester verifies the first remote proof report; upon successful verification, based on the information in the first remote proof report used to prove the trusted verification of at least one first service, the first requester proves the trustworthiness of at least one first service, thus completing the trusted verification of at least one first service.
[0127] The first requester extracts the signature verification key from the first remote proof report and uses the signature verification key to verify the signature service key. After the signature verification is successful, the first requester uses the service key of at least one first service to encrypt the communication data to obtain ciphertext communication data, and uses the service key of at least one first service to encrypt the user key to obtain ciphertext user key. The first requester then sends the ciphertext communication data and the ciphertext user key to at least one first service.
[0128] At least one first service uses its own service key to decrypt the encrypted user key to obtain the user key, and then uses the user key to decrypt the encrypted communication data to obtain the communication data. In this way, at least one first service can process the communication data to realize communication between the first requester and at least one first service.
[0129] In the remote verification method provided by one or more embodiments of this disclosure, by introducing an intermediate node between the requester and multiple services, the trusted verification link of the first requester is simplified. This means that the first requester only needs to complete trusted verification with the intermediate node between the requester and the multiple services to indirectly complete trusted verification of at least one service, thus improving the efficiency and ease of use of the remote verification process. Simultaneously, through the design of separating the control plane and the data plane, multiple services located on the data plane are protected from the impact of remote verification requests sent by the first requester, improving the robustness and business stability of multiple services.
[0130] Based on the remote authentication method for multiple services provided in at least one embodiment of this disclosure, at least one embodiment of this disclosure also provides a remote authentication apparatus for multiple services. The following will be combined with... Figure 7 This remote authentication device, used for multiple services, is described in detail.
[0131] Figure 7The illustration shows a schematic diagram of the structure of a remote authentication device for multiple services provided in at least one embodiment of the present disclosure.
[0132] like Figure 7 As shown, the remote authentication device 700 for multiple services in this embodiment includes a verification module 701 and a sending module 702. For example, the verification module 701 and the sending 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 verification module 701 and the sending 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.
[0133] The verification module 701 is configured to receive remote proof reports sent by the plurality of services, verify the remote proof reports, and obtain a verification result. For example, the verification 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.
[0134] The sending module 702 is configured to: in response to receiving a remote verification request from a first requester for at least one of the plurality of services, send a first remote verification report to the first requester based on the verification result; wherein the first remote verification report is used to prove that the trusted verification of the at least one service has passed. For example, the sending 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.
[0135] In at least one embodiment of this disclosure, the sending module 702 is further configured to: send the service key of the at least one service to the first requester, wherein the first requester communicates with the at least one service based on the service key of the at least one service and the trusted verification of the at least one service is successful.
[0136] In at least one embodiment of this disclosure, the first remote proof report includes a signature verification key, and the sending module 702 is further configured to: sign the service key of the at least one service using a signature key corresponding to the signature verification key to obtain a signed service key; and send the signed service key to the first requester so that the first requester can verify the signature service key using the signature verification key in the first remote proof report to obtain the service key of the at least one service.
[0137] In at least one embodiment of this disclosure, the sending module 702 is further configured to: send the first remote proof report to the first requester in response to the verification result indicating that the verification of the at least one service has passed.
[0138] In at least one embodiment of this disclosure, the verification module 701 is further configured to: receive remote proof reports sent by the plurality of services in the current period; and verify the remote proof reports sent by the plurality of services in the current period to update the verification results of the previous period.
[0139] In at least one embodiment of this disclosure, the verification module 701 is further configured to: send a remote proof request to the plurality of services based on a first random value corresponding to the plurality of services in the current period; and receive a remote proof report based on the first random value sent by the plurality of services.
[0140] In at least one embodiment of this disclosure, the remote verification device 700 for multiple services further includes a writing module configured to write the verification result to a first log; wherein the first log includes remote verification reports sent by the multiple services, and the first log is used to be sent to the first requester in response to an audit request from the first requester.
[0141] In at least one embodiment of this disclosure, the first remote proof report includes a signature verification key, and the writing module is further configured to: sign the verification result using a signature key corresponding to the signature verification key to obtain a signature verification result; and write the signature verification result into a first log so that the first requester can use the signature verification key in the first remote proof report to verify the signature verification result and obtain the verification result.
[0142] 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 700 for multiple services. To achieve the necessary functions of the remote verification device 700 for multiple services, 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.
[0143] 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.
[0144] Figure 8 The schematic diagram illustrates the structure of a remote verification device provided in at least one embodiment of the present disclosure.
[0145] like Figure 8 As shown, the remote verification device 700 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.
[0146] The communication module 801 is configured to send a remote authentication request to the second service for at least one of a plurality of first services. For example, the communication module 801 can be configured to perform step S501 as described above; the specific implementation principle can be found in the relevant description of step S501, and will not be repeated here.
[0147] The communication module 801 is further configured to receive a first remote verification report sent by the second service, wherein the first remote verification report is used to prove that the trusted verification of the at least one first service has passed. For example, the communication module 801 can be configured to perform step S502 described above; its specific implementation principle can be found in the relevant description of step S502, and will not be repeated here.
[0148] The communication module 801 is also configured to send a communication request to the at least one first service in response to the successful verification of the first remote proof report. For example, the communication module 801 can be configured to perform step S503 as described above; its specific implementation principle can be found in the relevant description of step S503, and will not be repeated here.
[0149] In at least one embodiment of this disclosure, the communication module 801 is further configured to: encrypt communication data using a user key to obtain ciphertext communication data, and encrypt the user key using the service key of the at least one first service to obtain at least one ciphertext user key; send the ciphertext communication data and the at least one ciphertext user key to the corresponding first service, so that the at least one first service decrypts the corresponding ciphertext user key using the service key to obtain the user key, and then decrypts the ciphertext communication data using the user key to obtain the communication data.
[0150] 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 remote authentication method or remote authentication method for multiple services provided in any embodiment of this disclosure.
[0151] 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.
[0152] 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.
[0153] 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.
[0154] 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.
[0155] 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.
[0156] 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.
[0157] It should be noted that, in at least one embodiment of this disclosure, the computer-readable medium described above may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may 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 at least one embodiment of this disclosure, a computer-readable storage medium may 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 at least one embodiment of this disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may 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.
[0158] 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.
[0159] 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.
[0160] 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 remote authentication method or remote authentication method for multiple services.
[0161] 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).
[0162] 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.
[0163] 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.
[0164] When the computer program product is executed by a computer, the computer performs the aforementioned remote authentication method for multiple services or any of the aforementioned remote authentication methods. The computer program product can be a software installation package; when the aforementioned remote authentication method for multiple services or any of the aforementioned remote authentication methods is required, the computer program product can be downloaded and executed on the computer.
[0165] 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.
[0166] 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.
[0167] 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.
[0168] In the context of at least one embodiment 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. Machine-readable media can include, but are 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 fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0169] According to one or more embodiments of this disclosure, Example 1 provides a remote authentication method for multiple services, including:
[0170] Receive remote verification reports sent by the multiple services, verify the remote verification reports, and obtain verification results;
[0171] In response to receiving a remote verification request from a first requester for at least one of the plurality of services, a first remote verification report is sent to the first requester based on the verification result, wherein the first remote verification report is used to prove that the trusted verification of the at least one service has passed.
[0172] According to one or more embodiments of this disclosure, Example 2 provides the method of Example 1, further comprising:
[0173] The service key of the at least one service is sent to the first requester, wherein the first requester communicates with the at least one service based on the service key of the at least one service.
[0174] According to one or more embodiments of this disclosure, Example 3 provides that the first remote authentication report in Example 2 includes a signature verification key, and the step of sending the service key of the at least one service to the first requester includes:
[0175] The service key of the at least one service is signed using the signing key corresponding to the verification key to obtain the signing service key;
[0176] The signature service key is sent to the first requester so that the first requester can verify the signature service key using the verification key in the first remote proof report to obtain the service key for the at least one service.
[0177] According to one or more embodiments of this disclosure, Example 4 provides sending a first remote proof report to the first requester based on the verification result in any of Examples 1 to 3, including:
[0178] In response to the verification result indicating that the verification of the at least one service has passed, the first remote verification report is sent to the first requester.
[0179] According to one or more embodiments of this disclosure, Example 5 provides receiving remote proof reports sent by the plurality of services in any of Examples 1 to 3, verifying the remote proof reports, and obtaining verification results, including:
[0180] Receive remote verification reports sent by the multiple services in the current period;
[0181] Verify the remote verification reports sent by the multiple services in the current period to update the verification results of the previous period.
[0182] According to one or more embodiments of this disclosure, Example Six provides the receipt of remote proof reports sent by the plurality of services in the current period, as in Example Five, including:
[0183] Based on the first random value corresponding to each of the multiple services in the current period, a remote proof request is sent to each of the multiple services.
[0184] Receive remote proof reports based on the first random value sent by the plurality of services.
[0185] According to one or more embodiments of this disclosure, Example 7 provides a method from any of Examples 1 to 3, further comprising:
[0186] Write the verification result into the first log;
[0187] The first log includes remote verification reports sent by the plurality of services, and is used to respond to the audit request from the first requester and be sent to the first requester.
[0188] According to one or more embodiments of this disclosure, Example 8 provides a first remote proof report in Example 7 that includes a signature verification key, wherein writing the verification result to a first log includes:
[0189] The verification result is signed using the signature key corresponding to the verification key to obtain a signature verification result;
[0190] The signature verification result is written to the first log so that the first requester can use the signature verification key in the first remote proof report to verify the signature verification result and obtain the verification result.
[0191] According to one or more embodiments of this disclosure, Example Nine provides a remote proof method, including:
[0192] Send a remote authentication request to the second service for at least one of the multiple first services;
[0193] Receive a first remote verification report sent by the second service, wherein the first remote verification report is used to prove that the trust verification of the at least one first service has passed;
[0194] In response to the successful verification of the first remote proof report, a communication request is sent to the at least one first service.
[0195] According to one or more embodiments of this disclosure, Example 10 provides the method of Example 9, further comprising:
[0196] The communication data is encrypted using the user key to obtain ciphertext communication data, and the user key is encrypted using the service key of the at least one first service to obtain at least one ciphertext user key.
[0197] The encrypted communication data and the at least one encrypted user key are sent to the corresponding first service, so that the at least one first service uses the service key to decrypt the corresponding encrypted user key to obtain the user key, and then uses the user key to decrypt the encrypted communication data to obtain the communication data.
[0198] According to one or more embodiments of this disclosure, Example Eleven provides an electronic device, including:
[0199] At least one processor; and
[0200] At least one memory, including one or more computer program instructions;
[0201] The one or more computer program instructions are executed by the processor to perform the remote verification method or remote verification method for multiple services provided in at least one embodiment of the present disclosure.
[0202] 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 when the computer-readable instructions are executed by a processor, they implement a remote authentication method or remote authentication method for multiple services provided in at least one embodiment of the present disclosure.
[0203] 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 remote authentication method or remote authentication method for multiple services provided in at least one embodiment of this disclosure.
[0204] 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.
[0205] 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.
[0206] 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 remote authentication method for multiple services, comprising: Receive remote verification reports sent by the multiple services, verify the remote verification reports, and obtain verification results; In response to receiving a remote verification request from a first requester for at least one of the plurality of services, a first remote verification report is sent to the first requester based on the verification result; wherein the first remote verification report is used to prove that the trusted verification of the at least one service has passed.
2. The remote authentication method for multiple services according to claim 1 further includes: The service key of the at least one service is sent to the first requester, wherein the first requester communicates with the at least one service based on the service key of the at least one service.
3. The remote authentication method for multiple services according to claim 2, wherein, The first remote verification report includes a signature verification key, and the step of sending the service key of the at least one service to the first requester includes: The service key of the at least one service is signed using the signing key corresponding to the verification key to obtain the signing service key; The signature service key is sent to the first requester so that the first requester can verify the signature service key using the verification key in the first remote proof report to obtain the service key for the at least one service.
4. The remote authentication method for multiple services according to any one of claims 1 to 3, wherein, Sending a first remote verification report to the first requester based on the verification result includes: In response to the verification result indicating that the verification of the at least one service has passed, the first remote verification report is sent to the first requester.
5. The remote authentication method for multiple services according to any one of claims 1 to 3, wherein, The process of receiving remote authentication reports from the multiple services, verifying the remote authentication reports, and obtaining verification results includes: Receive remote verification reports sent by the multiple services in the current period; Verify the remote verification reports sent by the multiple services in the current period to update the verification results of the previous period.
6. The remote authentication method for multiple services according to claim 5, wherein, The receipt of remote proof reports sent by the multiple services in the current period includes: Based on the first random value corresponding to each of the multiple services in the current period, a remote proof request is sent to each of the multiple services. Receive remote proof reports based on the first random value sent by the plurality of services.
7. The remote authentication method for multiple services according to any one of claims 1 to 3, further comprising: Write the verification result into the first log; The first log includes remote verification reports sent by the plurality of services, and is used to respond to the audit request from the first requester and be sent to the first requester.
8. The remote authentication method for multiple services according to claim 7, wherein, The first remote verification report includes a signature verification key, and writing the verification result to the first log includes: The verification result is signed using the signature key corresponding to the verification key to obtain a signature verification result; The signature verification result is written to the first log so that the first requester can use the signature verification key in the first remote proof report to verify the signature verification result and obtain the verification result.
9. A remote proof method, comprising: Send a remote authentication request to the second service for at least one of the multiple first services; Receive a first remote verification report sent by the second service, wherein the first remote verification report is used to prove that the trust verification of the at least one first service has passed; In response to the successful verification of the first remote proof report, a communication request is sent to the at least one first service.
10. The remote proof method according to claim 9, further comprising: The communication data is encrypted using the user key to obtain ciphertext communication data, and the user key is encrypted using the service key of the at least one first service to obtain at least one ciphertext user key. The encrypted communication data and the at least one encrypted user key are sent to the corresponding first service, so that the at least one first service uses the service key to decrypt the corresponding encrypted user key to obtain the user key, and then uses the user key to decrypt the encrypted communication data to obtain the communication data.
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 8 or the method according to any one of claims 9 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 8 or the method of any one of claims 9 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 8 or the method of any one of claims 9 to 10.
Citation Information
Patent Citations
User-perception-free virtual machine batch remote certification method
CN113986470A
Remote authentication system and method based on distributed trusted execution environment application
CN118233218A
Remote attestation method and device and storage medium
CN118540704A
Remote attestation method and related equipment
CN119110277A
Communication method integrated with trustworthiness measurement
US20240354429A1