WO2021114934A1 - 可信计算集群的集群密钥获取方法及装置 - Google Patents

可信计算集群的集群密钥获取方法及装置 Download PDF

Info

Publication number
WO2021114934A1
WO2021114934A1 PCT/CN2020/124709 CN2020124709W WO2021114934A1 WO 2021114934 A1 WO2021114934 A1 WO 2021114934A1 CN 2020124709 W CN2020124709 W CN 2020124709W WO 2021114934 A1 WO2021114934 A1 WO 2021114934A1
Authority
WO
WIPO (PCT)
Prior art keywords
trusted computing
computing node
service
node
cluster
Prior art date
Application number
PCT/CN2020/124709
Other languages
English (en)
French (fr)
Inventor
余超凡
王磊
Original Assignee
支付宝(杭州)信息技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 支付宝(杭州)信息技术有限公司 filed Critical 支付宝(杭州)信息技术有限公司
Publication of WO2021114934A1 publication Critical patent/WO2021114934A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels

Definitions

  • One or more embodiments of this specification relate to the field of data security, and in particular to a method and device for obtaining a cluster key of a trusted computing cluster.
  • a trusted computing cluster is a computing cluster composed of multiple trusted computing nodes running in a Trusted Execution Environment (TEE). Trusted computing clusters can provide different types of data computing services. Trusted computing nodes have certain isolation capabilities, which can prevent other applications including operating systems or drivers from snooping and tampering with trusted computing nodes' applications and data, thereby ensuring the security of data computing. Different trusted computing nodes in the same trusted computing cluster can perform the same computing tasks, and thus can better provide the same service.
  • TEE Trusted Execution Environment
  • One or more embodiments of this specification describe a method and device for obtaining a cluster key of a trusted computing cluster, which can obtain the cluster key of a trusted computing cluster more conveniently and safely.
  • the specific technical solution is as follows.
  • a method for obtaining a cluster key of a trusted computing cluster is provided, which is executed by a first trusted computing node in a trusted execution environment TEE, and the method includes: obtaining the first trusted computing node The configuration information; wherein the configuration information includes the first service configured, and identification information used to identify whether the first trusted computing node is the first trusted computing node to configure the first service; when The identification information indicates that when the first trusted computing node is not the first trusted computing node to configure the first service, send an access request for the first service to the service registration discovery platform; receive the service The response message returned by the registration discovery platform for the access request; wherein the response message includes the first address information of the second trusted computing node configured with the first service; using the first address information, Remote RA authentication is performed between the second trusted computing nodes and an RA channel is established; through the established RA channel, a cluster key is obtained from the second trusted computing node as the first trusted computing node and all The cluster key of the trusted computing cluster where the second trusted computing node is located.
  • the method further includes: using the second address information of the first trusted computing node to register discovery with the service The platform performs service registration, so that the service registration discovery platform adds the second address information to the registration list corresponding to the first service.
  • the service registration discovery platform is also used to manage multiple trusted computing nodes including the first trusted computing node; the acquiring the configuration of the first trusted computing node
  • the information step includes: receiving the configuration information of the first trusted computing node sent by the service registration discovery platform; wherein the configuration information is obtained by the service registration discovery platform from a plurality of trusted computing nodes according to a service configuration request. It is obtained by selecting and configuring the first trusted computing node.
  • the service registration discovery platform stores the second address information of the first trusted computing node; the second address information of the first trusted computing node is used to send the information to the service
  • the step of registering and discovering the platform for service registration includes: configuring the status of the first trusted computing node as a serviceable status, and using the second address information to communicate with the service registration platform to enable the service
  • the registration discovery platform adds the second address information to the registration list corresponding to the first service when it is determined through the communication connection that the first trusted computing node is in a serviceable state.
  • the method further includes: when the identification information indicates that the first trusted computing node is the first trusted computing node to configure the first service: generating a cluster key; The second address information of the first trusted computing node performs service registration with the service registration discovery platform, so that the service registration discovery platform adds the second address information to the registration list corresponding to the first service.
  • the method further includes: using the hardware identification of the first trusted computing node to generate a symmetric key; The symmetric key encrypts the cluster key to obtain the first encrypted data; and stores the first encrypted data in the local disk space.
  • the method further includes: when there is private data to be persisted, using the cluster key to compare the private data Encryption is performed to obtain the second encrypted data, and the second encrypted data is stored in the data storage platform.
  • a device for obtaining a cluster key of a trusted computing cluster which is deployed in a first trusted computing node in a TEE, and the device includes: a first obtaining unit configured to obtain the first Configuration information of a trusted computing node; wherein, the configuration information includes the configured first service, and the configuration information used to identify whether the first trusted computing node is the first trusted computing node to configure the first service Identification information; a sending unit configured to, when the identification information indicates that the first trusted computing node is not the first trusted computing node to configure the first service, send to the service registration discovery platform for the first A service access request; a receiving unit configured to receive a response message returned by the service registration discovery platform for the access request; wherein the response message includes the first service of the second trusted computing node configured with the first service An address information; an authentication unit configured to use the first address information to perform remote RA authentication with the second trusted computing node to establish an RA channel; a second acquisition unit configured to pass the established RA channel, Obtain a cluster
  • the device further includes a first registration unit configured to: after obtaining the cluster key from the second trusted computing node, use the second address information of the first trusted computing node Perform service registration with the service registration discovery platform, so that the service registration discovery platform adds the second address information to the registration list corresponding to the first service.
  • the service registration discovery platform is also used to manage multiple trusted computing nodes including the first trusted computing node; the first obtaining unit is specifically configured to: receive services The configuration information of the first trusted computing node sent by the registration discovery platform; wherein the configuration information is selected by the service registration discovery platform from a plurality of trusted computing nodes according to the service configuration request, and It is configured for it.
  • the service registration discovery platform stores the second address information of the first trusted computing node; the first registration unit uses the second address of the first trusted computing node When information is registered with the service registration discovery platform for service registration, it includes: configuring the state of the first trusted computing node to be a serviceable state, and using the second address information to communicate with the service registration platform, to When the service registration discovery platform determines that the first trusted computing node is in a serviceable state through a communication connection, the second address information is added to the registration list corresponding to the first service.
  • the device further includes: a generating unit configured to generate a cluster when the identification information indicates that the first trusted computing node is the first trusted computing node to configure the first service Key; a second registration unit configured to use the first trusted computing node when the identification information indicates that the first trusted computing node is the first trusted computing node to configure the first service
  • the second address information for the service registration and discovery platform performs service registration, so that the service registration and discovery platform adds the second address information to the registration list corresponding to the first service.
  • the apparatus further includes: a first storage unit configured to, after obtaining the cluster key from the second trusted computing node, use the hardware identifier of the first trusted computing node to generate The symmetric key is used to encrypt the cluster key by using the symmetric key to obtain the first encrypted data, and the first encrypted data is stored in the local disk space.
  • the device further includes: a second storage unit configured to use the cluster when there is private data to be persisted after obtaining the cluster key from the second trusted computing node The key encrypts the private data to obtain the second encrypted data, and stores the second encrypted data in the data storage platform.
  • a computer-readable storage medium on which a computer program is stored, and when the computer program is executed in a computer, the computer is caused to execute any one of the methods provided in the first aspect.
  • a computing device including a memory and a processor, the memory stores executable code, and when the processor executes the executable code, any one of the methods provided in the first aspect is implemented.
  • the first trusted computing node can obtain the second trusted computing node of the second trusted computing node that is also configured with the first service by sending an access request for the first service to the service registration platform.
  • One address information so that the first trusted computing node can communicate with the second trusted computing node through the first address information, and obtain the cluster key in the second trusted computing node through a more secure RA channel, without configuration
  • Third-party equipment so that the third-party equipment uses its own coordination function to enable the first trusted computing node to obtain the cluster key from the second trusted computing node, so that the cluster secret of the trusted computing cluster can be obtained more conveniently and securely. key.
  • Fig. 1 is a schematic diagram of an implementation scenario of an embodiment disclosed in this specification
  • FIG. 2 is a schematic flowchart of a method for obtaining a cluster key of a trusted computing cluster in an embodiment
  • FIG. 3 is a schematic flowchart of a configuration information acquisition method provided in an embodiment
  • Figure 4 is a schematic diagram of data persistence using a cluster key provided in an embodiment
  • Fig. 5 is a schematic block diagram of an apparatus for obtaining a cluster key of a trusted computing cluster according to an embodiment.
  • Figure 1 is a schematic diagram of an implementation scenario of an embodiment disclosed in this specification.
  • This implementation scenario includes the service registration discovery platform 100 and multiple nodes such as node 1, node 2, and node 3.
  • the service registration discovery platform 100 includes computers, servers, distributed devices, etc. capable of implementing a service registration discovery mechanism.
  • the nodes include trusted computing nodes in a Trusted Execution Environment (TEE).
  • TEE Trusted Execution Environment
  • a node in a trusted execution environment can be understood as a node that applies TEE technology.
  • Trusted computing nodes are also called TEE nodes or trusted computing units.
  • the TEE node can be implemented in a physical computer, and its isolation capability can prevent other applications from snooping and tampering with the application and data of the trusted computing node, ensuring the security of computing.
  • the TEE node may be a trusted computing enclave (Enclave), and may be implemented using technologies such as software guard extension (SGX) or trust zone (Trust Zone).
  • SGX software guard extension
  • Trust Zone Trust Zone
  • TEE nodes can provide different services, such as order service, inventory service, return and exchange service, search service, recommendation service, etc.
  • the TEE node can provide computing tasks corresponding to the configured service to provide the configured service.
  • the TEE node can register with the service registration discovery platform 100 for service registration.
  • the service registration discovery platform 100 can manage the configured service and save the address information of the TEE node configured with the service.
  • the address information includes information such as port and Internet Protocol address (Internet Protocol, IP).
  • IP Internet Protocol
  • node 1, node 2, and node 3 are respectively configured with service A, service B, and service B, and all three nodes have registered with the service registration discovery platform 100, and the service registration discovery platform 100 saves There are address information of nodes corresponding to these three services.
  • the node 1 When the service A needs to access the service B, the node 1 first obtains the address information of the node 2 from the service registration discovery platform 100 through the service discovery mechanism, and then uses the address information to make a service call to the service B in the node 2.
  • the TEE node can generate a cluster key to prepare for the subsequent formation of a trusted computing cluster. If another replica node a is configured for the service, the replica node a and the TEE node configured with the same service will form a trusted computing cluster when they have the cluster key at the same time. After that, if the replica node b continues to be configured for the service, when the replica node b obtains the cluster key, it is considered that the replica node b has joined the trusted computing cluster.
  • Another possible situation is that if you configure replica node a and replica node b for the service in a short period of time (at the same time), the node that first obtains the cluster key among replica node a and replica node b is considered to be the same
  • the TEE node forms a trusted computing cluster, and the node that later obtains the cluster key is considered to have joined the already formed trusted computing cluster.
  • the following cluster key acquisition method includes the aforementioned two situations of forming a trusted computing cluster and joining a trusted computing cluster.
  • FIG. 2 is a schematic flowchart of a method for obtaining a cluster key of a trusted computing cluster according to an embodiment, which includes: a service registration discovery platform 100, a TEE node 200, and a TEE node 300.
  • the address information of the TEE node 200 and the TEE node 300 are represented by add2 and add3, respectively, and the TEE node 200 is the node that first configures the service A, and the TEE node 300 is the replica node that configures the service A.
  • the method for obtaining the cluster key in this embodiment can be described through the following steps S210 to S280.
  • step S210 the TEE node 200 obtains configuration information for itself, the configuration information includes the configured first service (hereinafter service A is used to represent the first service), and indicates that the TEE node 200 is the first trusted computing node that configures the service A ⁇ identification information.
  • service A is used to represent the first service
  • the first service in the configuration information may include the image file of the first service, and may also include the virtual address of the first service.
  • the TEE node When the TEE node receives the image file of the first service, it can use the image file to configure the first service, for example, obtain the program code of the first service in the image file, and load the program code to the corresponding location in the node memory .
  • the identification information may indicate a configuration mode for the node, and the configuration mode may include an initial node mode or a duplicate node mode.
  • the TEE node is the first trusted computing node that configures service A, it is considered that the TEE node is started in the initial node mode.
  • the TEE node is not the first trusted computing node that configures service A, it is considered that the TEE node is started in the replica node mode.
  • the identification information may be represented by set characters, for example, 1 and 0 are used to represent the above two modes respectively, or A and B are used to represent the above two modes respectively.
  • step S220 the TEE node 200 generates a cluster key.
  • the cluster key can be implemented in the form of a symmetric key or an asymmetric key.
  • step S230 the TEE node 200 uses the address information add2 of the TEE node 200 to perform service registration with the service registration discovery platform 100.
  • the service registration discovery platform 100 adds the address information add2 to the registration list corresponding to service A after the TEE node 200 completes the service registration.
  • the registration list includes the address information of the node corresponding to the service.
  • the service registration discovery platform may also store the address information of the node corresponding to the service in other ways than the registration list.
  • the TEE node 200 Since the TEE node 200 performs service registration with the service registration discovery platform 100 after the service A is configured and the cluster key is generated, it is considered that the TEE node 200 corresponding to the service A in the registration list already has the cluster key.
  • step S240 the TEE node 300 obtains configuration information for itself.
  • the configuration information includes the configured service A and identification information indicating that the TEE node 300 is not the first trusted computing node to configure the service A.
  • the TEE node 300 When the TEE node 300 receives the image file of the service A, it can use the image file to configure the service A, for example, obtain the program code of the service A in the image file, and load the program code to a corresponding location in the node memory.
  • the TEE node 300 Before the TEE node 300 obtains the configuration information and configures the service A, the TEE node 200 already has the service A configured. In order to better provide services, the TEE node 300 can continue to perform subsequent steps to obtain the cluster key generated by the TEE node 200, so that it can form a trusted computing cluster with the TEE node 200, or join the TEE node 200. Trusted computing cluster.
  • step S250 the TEE node 300 sends an access request for the service A to the service registration discovery platform 100.
  • step S260 the TEE node 300 receives the response message returned by the service registration discovery platform 100.
  • the service registration discovery platform 100 returns a response message to the TEE node 300 in response to the access request.
  • the response message includes address information add2 of the TEE node 200 configured with service A.
  • the service registration discovery platform 100 may obtain the address information of the TEE node corresponding to the service A from the registration list, that is, add2.
  • the TEE node 200 corresponding to service A in the registration list has a cluster key. When there are multiple TEE nodes corresponding to service A in the registration list, one TEE node can be selected from them, and the address information of the selected TEE node can be added to the response message.
  • the access request may include the virtual address of service A.
  • the service registration discovery platform 100 can obtain the address information of the TEE node corresponding to the service A from the registration list according to the virtual address.
  • the service registration discovery platform 100 may be implemented by a cluster, and the cluster includes a Domain Name System (DNS) resolution server.
  • DNS Domain Name System
  • the DNS resolution server can obtain the address information of the TEE node corresponding to service A from the registration list according to the virtual address.
  • the service registration discovery platform 100 may receive an access request for service A sent by a TEE node configured with service B, and return address information of the TEE node corresponding to service A. This is service B's access to service A.
  • the service registration discovery platform 100 may receive an access request for service A sent by a TEE node configured with service A (but has not started to provide the service), and return the address information of the TEE node corresponding to service A. This is service A's access to service A. Using the service A's access to the service A, the TEE node that does not yet have the cluster key can obtain the address information of the TEE node with the cluster key.
  • step S270 the TEE node 300 uses the address information add2 to perform remote RA authentication with the TEE node 200 to establish an RA channel.
  • the TEE node 300 may obtain address information add2 from the response message.
  • trusted authentication can be performed when the key is transmitted between TEE nodes, and the cluster key can be synchronized after the authentication is passed.
  • trusted authentication includes confirming that the other party is running in the TEE environment, and confirming that the other party is running the same computing task, that is, having the same code hash.
  • the program code corresponding to the computing task running in the TEE node can be called a code hash.
  • the running computing task is the computing task corresponding to service A.
  • the code hash can be used to identify the computing tasks running in the node. Trusted computing nodes configured with the same service have the same code hash.
  • Trusted authentication can use remote authentication (Remote Attestation, RA).
  • RA Remote Attestation
  • two-way RA authentication may be performed between the TEE node 200 and the TEE node 300; alternatively, the TEE node 200 may perform RA authentication on the TEE node 300, or the TEE node 300 may perform RA authentication on the TEE node 200.
  • the following describes the RA certification by the TEE node 200 performing the RA certification on the TEE node 300 as an example. According to the following description, the specific implementation manner of the TEE node 300 performing the RA certification on the TEE node 200 can be obtained without creative work. .
  • the TEE node 200 When the TEE node 200 performs the above-mentioned RA authentication on the TEE node 300, it can send an RA authentication request to the TEE node 300. When the TEE node 300 receives the RA authentication request sent by the TEE node 200, it returns authentication information to the TEE node 200, and the TEE node 200 uses The authentication information confirms whether the RA authentication is passed.
  • the above process may include at least the following embodiments. Manner 1: The authentication information sent by the TEE node 300 is a report file.
  • the TEE node 200 When the TEE node 200 receives the report file sent by the TEE node 300, it can send the report file to a third-party certification body, and obtain the certification result determined by the third-party certification body for the report file, and use the certification result to confirm whether the RA certification is by.
  • Manner 2 The authentication information sent by the TEE node 300 is the authentication result. That is, the TEE node 300 directly sends the report file to the third-party certification agency, and obtains the certification result determined by the third-party certification agency for the report file, and sends the obtained certification result to the TEE node 200 as certification information.
  • the above report file is used to describe the configuration status and operating status of the trusted computing node itself.
  • the report file includes at least: configuration status information, operating status information, running computing task code hash and signature information of the trusted computing node.
  • the code hash can uniquely identify the running computing task
  • the signature information can ensure the authenticity and reliability of the report file, and identify forgery and tampering.
  • Third-party certification bodies are credible and authoritative certification bodies with certification capabilities. Moreover, before each trusted computing node is put into use, it can be registered with the third-party certification authority. Therefore, the third-party certification body stores the configuration status information of each trusted computing node, the code hash of the computing task, and other information, and the credibility and security of the report file can be authenticated based on this information.
  • the third-party certification authority may be an Intel certification server (Attestation Service).
  • the RA authentication between TEE nodes can prevent the TEE node from receiving the wrong cluster key from the malicious node as much as possible, and improve the security when obtaining the cluster key.
  • both parties can establish an RA channel.
  • step S280 the TEE node 300 obtains the cluster key from the TEE node 200 through the established RA channel as the cluster key of the trusted computing cluster where the TEE node 200 and the TEE node 300 are located.
  • the TEE node 300 can also provide a secure and correct cluster key for other TEE nodes that join the trusted computing cluster, and keep the cluster key as long as possible. Pass it correctly.
  • the TEE node 300 can use its own address information add3 to perform service registration with the service registration discovery platform 100.
  • the service registration discovery platform 100 adds the address information add3 to the registration list corresponding to the service A. Therefore, all TEE nodes in the registration list corresponding to service A have the cluster key.
  • the TEE node 300 For the TEE node 300 started in the replica node mode, after the TEE node 300 obtains the configuration information, it does not directly perform service registration with the service registration discovery platform 100, but requests the node address information corresponding to the service A. After obtaining the address information add2 of the TEE node 200, the TEE node 300 uses the address information add2 to perform RA authentication with the TEE node 200, establish an RA channel, and obtain the cluster key from the TEE node 200 through the established RA channel. After obtaining the cluster key, the TEE node 300 may perform service registration with the service registration discovery platform 100, so that the service registration discovery platform 100 adds the address information of the TEE node 300 to the registration list corresponding to service A.
  • the first trusted computing node after the first trusted computing node obtains the configuration information of the first trusted computing node, when the identification information in the configuration information indicates that the first trusted computing node is not the first trusted computing node
  • a trusted computing node configures the first service, it sends an access request for the first service to the service registration discovery platform, and receives a response message returned by the service registration discovery platform for the access request; using the first address information in the response message , Perform remote RA authentication with the second trusted computing node, and establish an RA channel; through the established RA channel, obtain the cluster key from the second trusted computing node as the first trusted computing node and the second trusted computing node The cluster key of the trusted computing cluster where the compute node is located.
  • the first trusted computing node may be the TEE node 200 in the above example, or may be the TEE node 300.
  • the first trusted computing node may also use the second address information of the first trusted computing node to register with the service registration discovery platform, so that the service registration discovery platform The second address information is added to the registration list corresponding to the first service.
  • the first trusted computing node can obtain the first address information of the second trusted computing node that is also configured with the first service by sending an access request for the first service to the service registration platform
  • the first trusted computing node can communicate with the second trusted computing node through the first address information, and obtain the cluster key in the second trusted computing node through a more secure RA channel, without the need to configure third-party equipment
  • the third-party device uses its own coordination function to enable the first trusted computing node to obtain the cluster key from the second trusted computing node, so that the cluster key of the trusted computing cluster can be obtained more conveniently and securely.
  • Fig. 3 is a schematic flowchart of a configuration information acquisition method provided in an embodiment.
  • Figure 3 uses the labeling symbols of multiple objects in Figure 2.
  • the service registration discovery platform 100 manages multiple trusted computing nodes including the TEE node 200 and the TEE node 300, and stores the address information add2 and add3 of the TEE node 200 and the TEE node 300.
  • the service registration discovery platform 100 can receive a service configuration request sent by a user.
  • the service configuration request includes the service to be configured, the number of nodes for which the service is to be configured, and the identification information of the node.
  • the service to be configured includes service A
  • the number of nodes of the service A to be configured is 1
  • the identification information is 1 (indicating the initial node mode).
  • the service registration discovery platform 100 can select one TEE node (ie TEE node 200) from the multiple TEE nodes under management according to the service configuration request 1, and determine configuration information 1 for the TEE node 200, and the configuration information 1 includes the service A's image file and identification information 1.
  • the service registration discovery platform 100 sends the configuration information 1 to the TEE node 200, and the TEE node 200 receives the configuration information 1 sent by the service registration discovery platform 100.
  • the service registration discovery platform 100 can receive the service configuration request 2 sent by the user.
  • the service to be configured includes service A
  • the number of nodes of service A to be configured is 1, and the identification information is 2 (representing the replica node mode).
  • the service registration discovery platform 100 can select one TEE node (ie TEE node 300) from the multiple TEE nodes under management according to the service configuration request 2, and determine configuration information 2 for the TEE node 300, and the configuration information 2 includes the service The image file of A, the virtual address of service A, and the identification information 2.
  • the service registration discovery platform 100 sends the configuration information 2 to the TEE node 300, and the TEE node 300 can receive the configuration information 2 sent by the service registration discovery platform 100.
  • service configuration request 1 and service configuration request 2 can be implemented through one service configuration request.
  • the service to be configured includes service A
  • the number of nodes of the service A to be configured is 2, and the identification information is 1 and 2.
  • the service registration discovery platform 100 can select two TEE nodes according to the service configuration request, and determine the respective configuration information of the TEE nodes. This manual does not limit the implementation of the service configuration request.
  • the service registration discovery platform can also be used to manage multiple trusted computing nodes including the first trusted computing node, and store the address information of the multiple trusted computing nodes.
  • the first trusted computing node may receive the configuration information of the first trusted computing node sent by the service registration discovery platform.
  • the first trusted computing node may be the TEE node 200 in the above example, or may be the TEE node 300.
  • the configuration information is obtained by the service registration discovery platform selecting and configuring the first trusted computing node from a plurality of trusted computing nodes according to the service configuration request.
  • the service registration discovery platform can also manage multiple trusted computing nodes based on the functions described in the embodiment shown in Figure 2, and configure services to the trusted computing nodes based on service configuration information, which can save hardware Equipment to simplify the processing flow and improve processing efficiency.
  • the service registration discovery platform when the service registration discovery platform stores the second address information of the first trusted computing node, the first trusted computing node uses its own second address information to perform service registration with the service registration discovery platform At this time, the state of the first trusted computing node can be configured as a serviceable state, and the second address information can be used to communicate with the service registration platform.
  • the service registration discovery platform determines through the communication connection that the first trusted computing node is in a serviceable state, the second address information is added to the registration list corresponding to the first service.
  • the service registration discovery platform stores the second address information of the first trusted computing node, so the functions of the service registration discovery platform can be reused as much as possible, reducing the transmission of address information between the TEE node and the service registration discovery platform.
  • the above-mentioned communication connection may include a connection based on Transmission Control Protocol (TCP).
  • TCP Transmission Control Protocol
  • the first trusted computing node configures its own state to be a serviceable state, it can configure its own service A corresponding port state to be a serviceable state, so that its own state is a serviceable state.
  • the port status is serviceable, the first trusted computing node can receive and send information through the port.
  • the TEE node 300 is used to represent the first trusted computing node.
  • the TEE node 300 uses its own address information add3 to perform service registration with the service registration discovery platform 100, it may include configuring the port corresponding to the service A in the TEE node 300 to be in a serviceable state.
  • the service registration discovery platform 100 may detect and activate the port of the TEE node 300 after sending the configuration information to the TEE node 300. Specifically, the service registration discovery platform 100 may use the address information add3 to try to establish a TCP connection with the TEE node 300. When the TCP connection is successful, the service registration discovery platform 100 can determine that the TEE node 300 is in a serviceable state.
  • the service registration discovery platform 100 may send a request containing preset information (for example, "Is it possible?") to the TEE node 300 after the TCP connection is successful, and when it receives a return from the TEE node 300 containing the specified content (for example, "Yes") message, it is determined that the TEE node 300 is in a serviceable state.
  • preset information for example, "Is it possible?"
  • the cluster key acquisition method provided in this manual can ensure that the cluster key of the trusted computing cluster is redundant.
  • a new replica node can also be started to run the same computing task, thus improving the continuity of the service .
  • the first trusted computing node may also use the hardware of the first trusted computing node. Identify, generate a symmetric key, use the symmetric key to encrypt the cluster key to obtain the first encrypted data, and store the first encrypted data in the local disk space.
  • the hardware identification may be the serial number of hardware such as CPU or memory.
  • the hardware identification can be directly used as the symmetric key, or a random number can be superimposed on the hardware identification to obtain the symmetric key.
  • the local disk space may include the hard disk of the physical machine where the CPU of the first trusted computing node is located.
  • the trusted computing node can read the first encrypted data from the local disk space where it is located, and generate a symmetric key based on the hardware identification, and use the generated The symmetric key decrypts the first encrypted data to obtain the cluster key, thereby improving the security of the cluster key.
  • Trusted computing nodes in a trusted computing cluster can run the same computing task and provide the same service to clients and the like.
  • Trusted computing nodes can transmit private data within certain nodes.
  • the trusted computing node may also generate private data.
  • the above-mentioned private data can be stored in the data storage platform after being encrypted.
  • the private data stored in the data storage platform can be read by multiple trusted computing nodes in the trusted computing cluster.
  • the private data that exists in the trusted computing node is also called instantaneous data, and the instantaneous data that exists in the trusted computing node and is waiting to be stored on the data storage platform can be called the data to be persisted.
  • the instantaneous data in the trusted computing node may include program data, service status data, etc., and can usually be stored in the memory of the trusted computing node. Such data is data that is not permanently stored and is easy to lose.
  • the process of converting non-persistent transient data into persistent data is called data persistence. Storing the data to be persisted in the data storage platform is a process of data persistence, and the data stored in the data storage platform can be called persistent data.
  • the cluster key may be used to encrypt the private data to obtain the second encrypted data. Store the second encrypted data to the data storage platform.
  • the data storage platform may include at least one of a distributed file system (Hadoop Distributed File System, HDFS), an object storage service (Object Storage Service, OSS), and a MySQL database.
  • HDFS is a distributed high-availability storage platform, and its distributed storage can improve the security and reliability of stored private data.
  • the TEE node 200 and the TEE node 300 are nodes in the same trusted computing cluster, and the TEE node 200 uses the cluster key state-Key pair
  • the private data a is encrypted to obtain encrypted data a1.
  • the TEE node 300 uses the cluster key state-Key to encrypt the private data b to obtain encrypted data b1.
  • the TEE node 200 and the TEE node 300 can obtain the private data a or the private data b from the data storage platform 400. In this way, the readability of the data is improved.
  • the cluster key can be a symmetric key or an asymmetric key.
  • the private data to be persisted includes the first private data for transmission between trusted computing nodes
  • the first private data may be encrypted using a symmetric cluster key.
  • the private data to be persisted includes the second private data related to the client's service access
  • the second private data can be encrypted using the cluster public key in the asymmetric cluster key
  • the cluster private data in the cluster key can be used to encrypt the second private data.
  • the key decrypts the encrypted second private data.
  • the data sent by the client to the trusted computing node can also be encrypted using the cluster public key.
  • multiple trusted computing nodes in the same trusted computing cluster can read it from the data storage platform, thereby improving the security and readability of the data.
  • Fig. 5 is a schematic block diagram of an apparatus for obtaining a cluster key of a trusted computing cluster according to an embodiment. This device embodiment corresponds to the method embodiment shown in FIG. 2.
  • the device 500 is deployed in the first trusted computing node in the TEE, and the device 500 includes the following units.
  • the first obtaining unit 510 is configured to obtain configuration information of the first trusted computing node; wherein the configuration information includes the configured first service, and is used to identify whether the first trusted computing node is the first Identification information of a trusted computing node that configures the first service.
  • the sending unit 520 is configured to send information for the first service to the service registration discovery platform when the identification information indicates that the first trusted computing node is not the first trusted computing node to configure the first service. Access request.
  • the receiving unit 530 is configured to receive a response message returned by the service registration discovery platform for the access request; wherein the response message includes the first address information of the second trusted computing node configured with the first service.
  • the authentication unit 540 is configured to use the first address information to perform remote RA authentication with the second trusted computing node to establish an RA channel.
  • the second obtaining unit 550 is configured to obtain a cluster key from the second trusted computing node through the established RA channel, as the available information where the first trusted computing node and the second trusted computing node are located.
  • the cluster key of the trust computing cluster is configured to obtain a cluster key from the second trusted computing node through the established RA channel, as the available information where the first trusted computing node and the second trusted computing node are located. The cluster key of the trust computing cluster.
  • the device 500 further includes a first registration unit (not shown in the figure), configured to: after obtaining the cluster key from the second trusted computing node, use the first trusted computing node The second address information of the computing node performs service registration with the service registration discovery platform, so that the service registration discovery platform adds the second address information to the registration list corresponding to the first service.
  • a first registration unit (not shown in the figure), configured to: after obtaining the cluster key from the second trusted computing node, use the first trusted computing node The second address information of the computing node performs service registration with the service registration discovery platform, so that the service registration discovery platform adds the second address information to the registration list corresponding to the first service.
  • the service registration discovery platform is also used to manage multiple trusted computing nodes including the first trusted computing node; the first obtaining unit 510 is specifically configured to: receive services The configuration information of the first trusted computing node sent by the registration discovery platform; wherein the configuration information is selected by the service registration discovery platform from a plurality of trusted computing nodes according to the service configuration request and used for the configuration information. Get it through configuration.
  • the service registration discovery platform stores the second address information of the first trusted computing node; the first registration unit uses the second address information of the first trusted computing node When performing service registration with the service registration discovery platform, it includes: configuring the state of the first trusted computing node as a serviceable state, and using the second address information to communicate with the service registration platform, so that The service registration discovery platform adds the second address information to the registration list corresponding to the first service when it is determined through the communication connection that the first trusted computing node is in a serviceable state.
  • the apparatus 500 further includes: a generating unit (not shown in the figure), configured to, when the identification information indicates that the first trusted computing node is the first to configure the first service When the computing node is trusted, the cluster key is generated; the second registration unit (not shown in the figure) is configured to when the identification information indicates that the first trusted computing node is the first to configure the first service When trusting a computing node, use the second address information of the first trusted computing node to perform service registration with the service registration discovery platform, so that the service registration discovery platform adds the second address information to the first In the registration list corresponding to the service.
  • a generating unit (not shown in the figure)
  • the second registration unit is configured to when the identification information indicates that the first trusted computing node is the first to configure the first service When trusting a computing node, use the second address information of the first trusted computing node to perform service registration with the service registration discovery platform, so that the service registration discovery platform adds the second address information to the first In the registration list corresponding to the service.
  • the device 500 further includes: a first storage unit (not shown in the figure), configured to use the first trusted computing node after obtaining the cluster key from the second trusted computing node Calculate the hardware identification of the node, generate a symmetric key, use the symmetric key to encrypt the cluster key to obtain the first encrypted data, and store the first encrypted data in the local disk space.
  • a first storage unit (not shown in the figure), configured to use the first trusted computing node after obtaining the cluster key from the second trusted computing node Calculate the hardware identification of the node, generate a symmetric key, use the symmetric key to encrypt the cluster key to obtain the first encrypted data, and store the first encrypted data in the local disk space.
  • the device 500 further includes: a second storage unit (not shown in the figure), configured to obtain the cluster key from the second trusted computing node, when there is privacy to be persisted When data is being collected, the private data is encrypted by using the cluster key to obtain the second encrypted data, and the second encrypted data is stored in the data storage platform.
  • a second storage unit (not shown in the figure), configured to obtain the cluster key from the second trusted computing node, when there is privacy to be persisted
  • the private data is encrypted by using the cluster key to obtain the second encrypted data
  • the second encrypted data is stored in the data storage platform.
  • the foregoing device embodiment corresponds to the method embodiment, and for specific description, please refer to the description of the method embodiment part, which will not be repeated here.
  • the device embodiment is obtained based on the corresponding method embodiment, and has the same technical effect as the corresponding method embodiment. For specific description, please refer to the corresponding method embodiment.
  • This specification also provides a computer-readable storage medium on which a computer program is stored.
  • the computer program is executed in a computer, the computer is caused to execute the method described in FIGS. 2 to 4.
  • This specification also provides a computing device, including a memory and a processor, where executable code is stored, and when the processor executes the executable code, the method described in FIGS. 2 to 4 is implemented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书实施例提供一种可信计算集群的集群密钥获取方法及装置。处于可信执行环境TEE中的第一可信计算节点,在获取到针对自身的包含第一服务和标识信息的配置信息,且当标识信息表示第一可信计算节点不是第一个配置第一服务的可信计算节点时,向服务注册发现平台发送针对第一服务的访问请求,服务注册发现平台返回包含第二可信计算节点的地址信息的响应消息,第一可信计算节点利用该地址信息,与第二可信计算节点之间进行远程RA认证,建立RA通道,通过建立的RA通道,从第二可信计算节点中获取集群密钥,作为第一可信计算节点和第二可信计算节点所在的可信计算集群的集群密钥,以便使用集群密钥对隐私数据进行加密存储。

Description

可信计算集群的集群密钥获取方法及装置 技术领域
本说明书一个或多个实施例涉及数据安全领域,尤其涉及可信计算集群的集群密钥获取方法及装置。
背景技术
可信计算集群是由运行在可信执行环境(Trusted Execution Environment,TEE)中的多个可信计算节点所构成的计算集群。可信计算集群能够提供不同类型的数据计算服务。可信计算节点具有一定的隔离能力,这种隔离能力能够防止其他应用程序包括操作系统或驱动等窥探和篡改可信计算节点的应用程序和数据,进而保证数据计算的安全性。同一个可信计算集群中的不同可信计算节点,可以执行相同的计算任务,进而可以更好地提供同一服务。
因此,希望能有改进的方案,可以更加便利地、安全地将多个可信计算节点形成可信计算集群。
发明内容
本说明书一个或多个实施例描述了可信计算集群的集群密钥获取方法及装置,可以更加便利地、安全地获取可信计算集群的集群密钥。具体的技术方案如下。
第一方面,提供了一种可信计算集群的集群密钥获取方法,通过处于可信执行环境TEE中的第一可信计算节点执行,所述方法包括:获取所述第一可信计算节点的配置信息;其中,所述配置信息包括配置的第一服务,以及用于标识所述第一可信计算节点是否为第一个配置所述第一服务的可信计算节点的标识信息;当所述标识信息表示所述第一可信计算节点不是第一个配置所述第一服务的可信计算节点时,向服务注册发现平台发送针对所述第一服务的访问请求;接收所述服务注册发现平台针对所述访问请求返回的响应消息;其中,所述响应消息包括配置了所述第一服务的第二可信计算节点的第一地址信息;利用所述第一地址信息,与所述第二可信计算节点之间进行远程RA认证,建立RA通道;通过建立的RA通道,从所述第二可信计算节点中获取集群密钥,作为所述第一可信计算节点和所述第二可信计算节点所在的可信计算集群的集群密钥。
在另一种实施例中,在从所述第二可信计算节点中获取集群密钥之后,该方法还包括:使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册,以使所述服务注册发现平台将所述第二地址信息加入所述第一服务对应的注册列表中。
在另一种实施例中,所述服务注册发现平台还用于管理包括所述第一可信计算节点在内的多个可信计算节点;所述获取所述第一可信计算节点的配置信息的步骤,包括:接收服务注册发现平台发送的所述第一可信计算节点的配置信息;其中,所述配置信息由所述服务注册发现平台依据服务配置请求从多个可信计算节点中选择第一可信计算节点并为其进行配置而得到。
在另一种实施例中,所述服务注册发现平台存储有所述第一可信计算节点的第二地址信息;所述使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册的步骤,包括:配置所述第一可信计算节点的状态为可服务状态,并使用所述第二地址信息与所述服务注册平台进行通信连接,以使所述服务注册发现平台在通过通信连接确定所述第一可信计算节点处于可服务状态时将所述第二地址信息加入所述第一服务对应的注册列表中。
在另一种实施例中,方法还包括:当所述标识信息表示所述第一可信计算节点是第一个配置所述第一服务的可信计算节点时:生成集群密钥;使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册,以使所述服务注册发现平台将所述第二地址信息加入所述第一服务对应的注册列表中。
在另一种实施例中,在从所述第二可信计算节点中获取集群密钥之后,方法还包括:利用所述第一可信计算节点的硬件标识,生成对称密钥;采用所述对称密钥对所述集群密钥进行加密,得到第一加密数据;将所述第一加密数据存储至本地磁盘空间。
在另一种实施例中,在从所述第二可信计算节点中获取集群密钥之后,方法还包括:当存在待持久化的隐私数据时,利用所述集群密钥对所述隐私数据进行加密,得到第二加密数据,将所述第二加密数据存储至数据存储平台。
第二方面,提供了一种可信计算集群的集群密钥获取装置,部署在处于TEE中的第一可信计算节点中,所述装置包括:第一获取单元,配置为获取所述第一可信计算节点的配置信息;其中,所述配置信息包括配置的第一服务,以及用于标识所述第一可信计算节点是否为第一个配置所述第一服务的可信计算节点的标识信息;发送单元,配置为 当所述标识信息表示所述第一可信计算节点不是第一个配置所述第一服务的可信计算节点时,向服务注册发现平台发送针对所述第一服务的访问请求;接收单元,配置为接收所述服务注册发现平台针对所述访问请求返回的响应消息;其中,所述响应消息包括配置了所述第一服务的第二可信计算节点的第一地址信息;认证单元,配置为利用所述第一地址信息,与所述第二可信计算节点之间进行远程RA认证,建立RA通道;第二获取单元,配置为通过建立的RA通道,从所述第二可信计算节点中获取集群密钥,作为所述第一可信计算节点和所述第二可信计算节点所在的可信计算集群的集群密钥。
在另一种实施例中,装置还包括第一注册单元,配置为:在从所述第二可信计算节点中获取集群密钥之后,使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册,以使所述服务注册发现平台将所述第二地址信息加入所述第一服务对应的注册列表中。
在另一种实施例中,所述服务注册发现平台还用于管理包括所述第一可信计算节点在内的多个可信计算节点;所述第一获取单元,具体配置为:接收服务注册发现平台发送的所述第一可信计算节点的配置信息;其中,所述配置信息由所述服务注册发现平台依据服务配置请求从多个可信计算节点中选择第一可信计算节点并为其进行配置而得到。
在另一种实施例中,所述服务注册发现平台存储有所述第一可信计算节点的第二地址信息;所述第一注册单元,使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册时,包括:配置所述第一可信计算节点的状态为可服务状态,并使用所述第二地址信息与所述服务注册平台进行通信连接,以使所述服务注册发现平台在通过通信连接确定所述第一可信计算节点处于可服务状态时将所述第二地址信息加入所述第一服务对应的注册列表中。
在另一种实施例中,装置还包括:生成单元,配置为当所述标识信息表示所述第一可信计算节点是第一个配置所述第一服务的可信计算节点时,生成集群密钥;第二注册单元,配置为当所述标识信息表示所述第一可信计算节点是第一个配置所述第一服务的可信计算节点时,使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册,以使所述服务注册发现平台将所述第二地址信息加入所述第一服务对应的注册列表中。
在另一种实施例中,装置还包括:第一存储单元,配置为在从所述第二可信计算节 点中获取集群密钥之后,利用所述第一可信计算节点的硬件标识,生成对称密钥,采用所述对称密钥对所述集群密钥进行加密,得到第一加密数据,将所述第一加密数据存储至本地磁盘空间。
在另一种实施例中,装置还包括:第二存储单元,配置为在从所述第二可信计算节点中获取集群密钥之后,当存在待持久化的隐私数据时,利用所述集群密钥对所述隐私数据进行加密,得到第二加密数据,将所述第二加密数据存储至数据存储平台。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面提供的任一项方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面提供的任一项方法。
根据本说明书实施例提供的方法及装置,第一可信计算节点可以通过向服务注册平台发送针对第一服务的访问请求,来获取到同样配置了第一服务的第二可信计算节点的第一地址信息,这样第一可信计算节点便可以通过第一地址信息与第二可信计算节点进行通信,通过更安全的RA通道获取第二可信计算节点中的集群密钥,无需通过配置第三方设备,而使得第三方设备利用自身的协调功能使第一可信计算节点从第二可信计算节点中获取集群密钥,因此能够更加便利地、安全地获取可信计算集群的集群密钥。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为一个实施例中可信计算集群的集群密钥获取方法的流程示意图;
图3为一个实施例中提供的针对配置信息获取方式的流程示意图;
图4为一个实施例中提供的利用集群密钥进行数据持久化的示意图;
图5为一个实施例提供的可信计算集群的集群密钥获取装置的一种示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景包括服务注册发现平台100和节点1、节点2、节点3等多个节点。其中,服务注册发现平台100包括能够实施服务注册发现机制的计算机、服务器、分布式设备等。
节点包括处于可信执行环境(Trusted Execution Environment,TEE)中的可信计算节点。处于可信执行环境中的节点,可以理解为,应用了TEE技术的节点。可信计算节点又称为TEE节点或可信计算单元。TEE节点可以实现在实体计算机中,其隔离能力能够防止其他应用程序窥探和篡改可信计算节点的应用程序和数据,保证计算的安全性。TEE节点可以是可信的计算围圈(Enclave),且可以采用软件保护扩展(software guard extension,SGX)或信任域(Trust Zone)等技术来实现。例如,根据SGX技术,通过提供一系列CPU指令码,允许用户代码创建具有高访问权限的私有内存区域而形成计算围圈。其他应用程序,包括操作系统OS、BIOS系统、虚拟机系统等,均不能访问围圈中的数据,也就不能窥探和篡改其中应用程序的状态和数据。不同的TEE节点能够提供不同的服务,例如,订单服务、库存服务、退换货服务、搜索服务、推荐服务等。TEE节点可以提供与配置的服务对应的计算任务,以提供配置的服务。
TEE节点在配置服务以后,可以向服务注册发现平台100进行服务注册。服务注册发现平台100可以管理配置的服务,并保存配置服务的TEE节点的地址信息。该地址信息包括端口和互联网协议地址(Internet Protocol,IP)等信息。这样,当一个服务需要访问另一个服务时,可以通过服务注册发现平台100获取到配置该服务的TEE节点的地址信息,进而通过获取的地址信息访问对应的服务。
例如,在图1中,节点1、节点2和节点3分别配置了服务A、服务B和服务B,并且这三个节点均向服务注册发现平台100进行了服务注册,服务注册发现平台100保存有这三个服务对应的节点的地址信息。当服务A需要访问服务B时,节点1首先通过服务发现机制从服务注册发现平台100中获取到节点2的地址信息,再利用该地址信息对节点2中的服务B进行服务调用。
在实际的应用场景中,存在为已经配置的服务增加副本节点的需求,以及根据需要继续增加服务节点的需求。这样,可以针对同一服务配置多个节点,以便实现负载均衡 或者节点故障时的持续性服务提供,进而更好地为用户提供服务。
当某服务已经配置在一个TEE节点中时,该TEE节点可以生成集群密钥,以便为后续形成可信计算集群做准备。如果再为该服务配置一个副本节点a,则配置了同样服务的副本节点a与该TEE节点在同时具备集群密钥时即形成了可信计算集群。在此之后,如果继续为该服务配置副本节点b,则在副本节点b获取该集群密钥时,认为该副本节点b加入了该可信计算集群。另一种可能的情况是,在很短的时间段内(同时)为该服务配置副本节点a和副本节点b,则副本节点a和副本节点b中首先获取集群密钥的节点,认为与该TEE节点形成了可信计算集群,后获取集群密钥的节点,认为加入了已经形成的可信计算集群。下述集群密钥获取方法,包含了上述的形成可信计算集群和加入可信计算集群这两种情况。
图2为一个实施例提供的可信计算集群的集群密钥获取方法的流程示意图,其中包括:服务注册发现平台100、TEE节点200和TEE节点300。TEE节点200和TEE节点300的地址信息分别采用add2和add3表示,并且TEE节点200为首先配置服务A的节点,TEE节点300为配置服务A的副本节点。本实施例集群密钥的获取方法可以通过以下步骤S210~S280说明。
步骤S210,TEE节点200获取针对自身的配置信息,该配置信息包括配置的第一服务(以下采用服务A表示第一服务),以及表示TEE节点200是第一个配置服务A的可信计算节点的标识信息。
配置信息中的第一服务可以包括第一服务的镜像文件,还可以包括第一服务的虚拟地址。TEE节点在接收到第一服务的镜像文件时,可以利用该镜像文件来配置该第一服务,例如获取该镜像文件中第一服务的程序代码,并将该程序代码加载到节点内存的相应位置。
该标识信息可以表示针对节点的配置模式,该配置模式可以包括初始节点模式或副本节点模式等。当TEE节点是第一个配置服务A的可信计算节点时,认为该TEE节点以初始节点模式启动。当TEE节点不是第一个配置服务A的可信计算节点时,认为该TEE节点以副本节点模式启动。该标识信息可以采用设定的字符表示,例如,采用1和0分别表示上述两种模式,或者采用A和B分别表示上述两种模式。
步骤S220,TEE节点200生成集群密钥。该集群密钥可以以对称密钥或非对称密钥的形式来实现。
步骤S230,TEE节点200使用TEE节点200的地址信息add2向服务注册发现平台100进行服务注册。服务注册发现平台100在TEE节点200完成服务注册之后将地址信息add2加入服务A对应的注册列表中。
其中,注册列表中包括服务对应的节点的地址信息。服务注册发现平台也可以采用注册列表之外的其他方式存储服务对应的节点的地址信息。
由于TEE节点200在配置了服务A且生成集群密钥之后向服务注册发现平台100进行服务注册,因此认为注册列表中服务A对应的TEE节点200已经具有集群密钥。
步骤S240,TEE节点300获取针对自身的配置信息,该配置信息包括配置的服务A,以及表示TEE节点300不是第一个配置服务A的可信计算节点的标识信息。
TEE节点300在接收到服务A的镜像文件时,可以利用该镜像文件来配置该服务A,例如获取该镜像文件中服务A的程序代码,并将该程序代码加载到节点内存的相应位置。
TEE节点300在获取配置信息并配置服务A之前,已经存在TEE节点200配置了服务A。为了能够更好地提供服务,TEE节点300可以继续执行后续的步骤,以获取到TEE节点200生成的集群密钥,这样便可以与TEE节点200形成可信计算集群,或者加入TEE节点200所在的可信计算集群。
步骤S250,TEE节点300向服务注册发现平台100发送针对服务A的访问请求。步骤S260,TEE节点300接收服务注册发现平台100返回的响应消息。
服务注册发现平台100针对该访问请求向TEE节点300返回响应消息。响应消息包括配置了服务A的TEE节点200的地址信息add2。具体的,服务注册发现平台100在获取到该访问请求时,可以从注册列表中获取服务A对应的TEE节点的地址信息,即add2。注册列表中服务A对应的TEE节点200具有集群密钥。当注册列表中服务A对应的TEE节点包含多个时,可以从中选择一个TEE节点,将该选择的TEE节点的地址信息添加至响应消息中。
访问请求可以包含服务A的虚拟地址。服务注册发现平台100可以依据该虚拟地址,从注册列表中获取服务A对应的TEE节点的地址信息。具体的,服务注册发现平台100可以通过集群实现,该集群中包含域名系统(Domain Name System,DNS)解析服务器。该DNS解析服务器可以依据该虚拟地址,从注册列表中获取服务A对应的TEE节点的地址信息。
服务注册发现平台100可以接收配置了服务B的TEE节点发送的针对服务A的访问请求,并返回服务A对应的TEE节点的地址信息。此为服务B对服务A的访问。在本实施例中,服务注册发现平台100可以接收配置了服务A的TEE节点(但未开始提供服务)发送的针对服务A的访问请求,并返回服务A对应的TEE节点的地址信息。此为服务A对服务A的访问。利用该服务A对服务A的访问,能够使得还没有集群密钥的TEE节点获取到具有集群密钥的TEE节点的地址信息。
步骤S270,TEE节点300利用地址信息add2,与TEE节点200之间进行远程RA认证,建立RA通道。TEE节点300可以从响应消息中获取地址信息add2。
为了使得集群密钥的传输过程更加安全可信,TEE节点之间在传输密钥时可以进行可信认证,认证通过之后再同步集群密钥。其中,可信认证包括确认对方运行在TEE环境中,以及确认对方运行同样的计算任务,即具有同样的代码哈希等。TEE节点中运行的计算任务对应的程序代码,可以称为代码哈希。运行的计算任务即服务A对应的计算任务。代码哈希可以用于标识节点中运行的计算任务。配置了同一服务的可信计算节点,其代码哈希相同。
可信认证可以采用远程认证(Remote Attestation,RA)。在进行RA认证时,TEE节点200和TEE节点300之间可以进行双向RA认证;也可以是,TEE节点200对TEE节点300进行RA认证,或者TEE节点300对TEE节点200进行RA认证。下面以TEE节点200对TEE节点300进行RA认证为例对RA认证进行说明,根据下述说明,可以在不做出创造性劳动的情况下得到TEE节点300对TEE节点200进行RA认证的具体实施方式。
TEE节点200对TEE节点300进行上述RA认证时,可以向TEE节点300发送RA认证请求,TEE节点300在接收到TEE节点200发送的RA认证请求时向TEE节点200返回认证信息,TEE节点200利用该认证信息确认RA认证是否通过。上述过程可以至少包括以下实施方式。方式一,TEE节点300发送的认证信息为报告文件。TEE节点200在接收到TEE节点300发送的报告文件时,可以将该报告文件发送至第三方认证机构,并获取第三方认证机构针对该报告文件确定的认证结果,利用该认证结果确认RA认证是否通过。方式二,TEE节点300发送的认证信息即为认证结果。即TEE节点300直接将报告文件发送至第三方认证机构,并获取第三方认证机构针对该报告文件确定的认证结果,将获取的认证结果作为认证信息发送至TEE节点200。
其中,上述报告文件用于描述可信计算节点自身的配置状况和运行状况。具体的,该报告文件至少包括:可信计算节点的配置状况信息、运行状况信息、运行的计算任务的代码哈希以及签名信息等。其中,代码哈希可以唯一地标识运行的计算任务,签名信息可以保证报告文件真实可靠,识别伪造和篡改的情况。
第三方认证机构是可信的、具有认证能力的权威认证机构。并且,在各个可信计算节点投入使用之前,可以向该第三方认证机构进行注册。因此,该第三方认证机构保存有各个可信计算节点的配置状况信息、计算任务的代码哈希等信息,根据这些信息可以对报告文件的可信性和安全性进行认证。
例如,当TEE节点是通过Intel SGX实现的可信围圈(Enclave)时,第三方认证机构可以为Intel认证服务器(Attestation Service)。
TEE节点之间的RA认证,能够尽可能避免TEE节点接收来自恶意节点的错误集群密钥,提高获取集群密钥时的安全性。
在上述认证结果表明认证通过之后,双方可以建立RA通道。
步骤S280,TEE节点300通过建立的RA通道,从TEE节点200中获取集群密钥,作为TEE节点200和TEE节点300所在的可信计算集群的集群密钥。在通过建立的RA通道获取到安全、正确的集群密钥时,TEE节点300也能够为其他加入该可信计算集群的TEE节点提供安全、正确的集群密钥,尽可能地保持集群密钥的正确传递。
在TEE节点300获取到集群密钥之后,TEE节点300可以使用自身的地址信息add3向服务注册发现平台100进行服务注册。服务注册发现平台100将地址信息add3加入服务A对应的注册列表中。因此,服务A对应的注册列表中的TEE节点均具有该集群密钥。
针对以副本节点模式启动的TEE节点300,在该TEE节点300获取配置信息之后,并不直接向服务注册发现平台100进行服务注册,而是请求服务A对应的节点地址信息。在获取到TEE节点200的地址信息add2之后,TEE节点300利用该地址信息add2与TEE节点200进行RA认证,建立RA通道,通过建立的RA通道,从TEE节点200中获取集群密钥。在获取集群密钥之后,TEE节点300可以执行向服务注册发现平台100进行服务注册,以使得服务注册发现平台100将TEE节点300的地址信息加入服务A对应的注册列表中。
因此,针对处于TEE中的第一可信计算节点,该第一可信计算节点在获取第一可信计算节点的配置信息之后,当配置信息中的标识信息表示第一可信计算节点不是第一个配置第一服务的可信计算节点时,向服务注册发现平台发送针对第一服务的访问请求,接收服务注册发现平台针对该访问请求返回的响应消息;利用响应消息中的第一地址信息,与第二可信计算节点之间进行远程RA认证,建立RA通道;通过建立的RA通道,从第二可信计算节点中获取集群密钥,作为第一可信计算节点和第二可信计算节点所在的可信计算集群的集群密钥。第一可信计算节点可以为上例中的TEE节点200,也可以为TEE节点300。
第一可信计算节点在从第二可信计算节点中获取集群密钥之后,还可以使用第一可信计算节点的第二地址信息向服务注册发现平台进行服务注册,以使服务注册发现平台将第二地址信息加入第一服务对应的注册列表中。
通过上述实施例的说明可知,第一可信计算节点可以通过向服务注册平台发送针对第一服务的访问请求,来获取到同样配置了第一服务的第二可信计算节点的第一地址信息,这样第一可信计算节点便可以通过第一地址信息与第二可信计算节点进行通信,通过更安全的RA通道获取第二可信计算节点中的集群密钥,无需通过配置第三方设备,而使得第三方设备利用自身的协调功能使第一可信计算节点从第二可信计算节点中获取集群密钥,因此能够更加便利地、安全地获取可信计算集群的集群密钥。
图3为一个实施例中提供的针对配置信息获取方式的流程示意图。图3沿用图2中多个对象的标记符号。服务注册发现平台100管理包括TEE节点200和TEE节点300在内的多个可信计算节点,并存储了TEE节点200和TEE节点300的地址信息add2和add3。服务注册发现平台100可以接收用户发送的服务配置请求。该服务配置请求包括待配置服务、待配置服务的节点数量以及节点的标识信息。例如,在服务配置请求1中,待配置服务包括服务A,待配置服务A的节点数量为1,标识信息为1(表示初始节点模式)。服务注册发现平台100可以依据该服务配置请求1,从管理的多个TEE节点中选择1个TEE节点(即TEE节点200),并确定针对TEE节点200的配置信息1,该配置信息1包括服务A的镜像文件以及标识信息1。服务注册发现平台100向TEE节点200发送该配置信息1,TEE节点200接收服务注册发现平台100发送的该配置信息1。
在此之后,服务注册发现平台100可以接收用户发送的服务配置请求2。在服务配 置请求2中,待配置服务包括服务A,待配置服务A的节点数量为1,标识信息为2(表示副本节点模式)。服务注册发现平台100可以依据该服务配置请求2,从管理的多个TEE节点中选择1个TEE节点(即TEE节点300),并确定针对TEE节点300的配置信息2,该配置信息2包括服务A的镜像文件、服务A的虚拟地址以及标识信息2。服务注册发现平台100向TEE节点300发送该配置信息2,TEE节点300可以接收服务注册发现平台100发送的该配置信息2。
上例中,服务配置请求1和服务配置请求2可以通过一个服务配置请求来实现。例如服务配置请求中,待配置服务包括服务A,待配置服务A的节点数量为2,标识信息为1和2。服务注册发现平台100可以依据该服务配置请求,选择2个TEE节点,并确定TEE节点各自的配置信息。本说明书并不限定服务配置请求的实现方式。
根据上例可知,服务注册发现平台还可以用于管理包括第一可信计算节点在内的多个可信计算节点,并存储多个可信计算节点的地址信息。第一可信计算节点在获取配置信息时,可以接收服务注册发现平台发送的第一可信计算节点的配置信息。第一可信计算节点可以为上例中的TEE节点200,也可以为TEE节点300。
其中,配置信息由服务注册发现平台依据服务配置请求从多个可信计算节点中选择第一可信计算节点并为其进行配置而得到。
本实施例中,服务注册发现平台在实现图2所示实施例所述的功能基础上,还可以管理多个可信计算节点,并依据服务配置信息向可信计算节点配置服务,能够节省硬件设备,简化处理流程,提高处理效率。
在另一实施例中,在服务注册发现平台存储有第一可信计算节点的第二地址信息的情况下,第一可信计算节点使用自身的第二地址信息向服务注册发现平台进行服务注册时,可以配置第一可信计算节点的状态为可服务状态,并使用第二地址信息与服务注册平台进行通信连接。服务注册发现平台在通过通信连接确定第一可信计算节点处于可服务状态时,将第二地址信息加入第一服务对应的注册列表中。服务注册发现平台存储有第一可信计算节点的第二地址信息,因此能够尽可能复用服务注册发现平台的功能,减少TEE节点与服务注册发现平台之间地址信息的传送。
其中,上述通信连接可以包括基于传输控制协议(Transmission Control Protocol,TCP)的连接。第一可信计算节点在配置自身的状态为可服务状态时,可以通过配置自身的服务A对应的端口状态为可服务状态,使得自身的状态为可服务状态。当端口状态为可服 务状态时,第一可信计算节点可以通过该端口接收和发送信息。
下面沿用图3所示示意图对本实施例进行说明。使用TEE节点300表示第一可信计算节点。TEE节点300使用自身的地址信息add3向服务注册发现平台100进行服务注册时,可以包括配置TEE节点300中与服务A对应的端口为可服务状态。服务注册发现平台100可以在向TEE节点300发送配置信息之后,对TEE节点300的端口进行探活。具体的,服务注册发现平台100可以利用地址信息add3尝试与TEE节点300建立TCP连接。在该TCP连接成功时,服务注册发现平台100可以确定TEE节点300处于可服务状态。或者,服务注册发现平台100可以在该TCP连接成功之后,向TEE节点300发送包含预设信息(例如为“是否可以?”)的请求,当接收到TEE节点300返回的包含指定内容(例如为“可以”)的消息时,确定TEE节点300处于可服务状态。
本说明书提供的集群密钥获取方法,能够保证可信计算集群的集群密钥有冗余,当节点故障时,还可以启动新的副本节点来运行同样的计算任务,因此提高了服务的持续性。
如果可信计算集群中的多个可信计算节点位于同一个机房中,一旦该机房发生断电事故,多个可信计算节点中的集群密钥可能都会丢失,这可能导致以该集群密钥加密的数据无法被读取。
为了避免断电造成的集群密钥丢失,在另一实施例中,第一可信计算节点在从第二可信计算节点中获取集群密钥之后,还可以利用第一可信计算节点的硬件标识,生成对称密钥,采用对称密钥对集群密钥进行加密,得到第一加密数据,将第一加密数据存储至本地磁盘空间。
其中,硬件标识可以为CPU或内存等硬件的序列号。生成对称密钥时,可以直接将该硬件标识作为对称密钥,也可以在该硬件标识的基础上叠加随机数,得到对称密钥。
本地磁盘空间可以包括第一可信计算节点的CPU所在的物理机的硬盘。这样,即便多个可信计算节点所在的机房发生断电事故,可信计算节点也能够从自身所在的本地磁盘空间中读取第一加密数据,并依据硬件标识生成对称密钥,利用生成的对称密钥对第一加密数据解密,得到集群密钥,从而提高了集群密钥的安全性。
可信计算集群中的多个可信计算节点可以运行相同的计算任务,向客户端等提供同一服务。可信计算节点之间可以传输某些节点内部的隐私数据。同时,在处理客户端对服务的访问请求时,可信计算节点也可能产生隐私数据。上述隐私数据可以在进行加密 处理后存储至数据存储平台。存储至数据存储平台的隐私数据,可以供可信计算集群中多个可信计算节点读取。
存在于可信计算节点中的隐私数据又称为瞬时数据,存在于可信计算节点中且等待存储至数据存储平台的瞬时数据,可以称为待持久化数据。可信计算节点中的瞬时数据可以包括程序数据、服务状态数据等,通常可以存储在可信计算节点的内存中,这种数据是没有永久保存的数据,容易丢失。将非持久保存的瞬时数据转换为持久保存的数据的过程,称为数据的持久化。将待持久化数据存储在数据存储平台内,是一种数据的持久化过程,并且存储在数据存储平台中的数据可以称为已持久化数据。
第一可信计算节点在从第二可信计算节点中获取集群密钥之后,还可以在存在待持久化的隐私数据时,利用该集群密钥对隐私数据进行加密,得到第二加密数据,将第二加密数据存储至数据存储平台。
数据存储平台可以包括分布式文件系统(Hadoop Distributed File System,HDFS)、对象存储服务(Object Storage Service,OSS)和MySQL数据库中的至少一个。HDFS为分布式的高可用存储平台,其分布式的存储能够提高所存储的隐私数据的安全性和可靠性。
例如,参见图4所示的利用集群密钥进行数据持久化的流程示意图,其中的TEE节点200和TEE节点300为同一可信计算集群中的节点,TEE节点200使用集群密钥state-Key对隐私数据a进行加密,得到加密数据a1。TEE节点300使用集群密钥state-Key对隐私数据b进行加密,得到加密数据b1。当加密数据a1和加密数据b1均存储至数据存储平台400之后,TEE节点200和TEE节点300可以从数据存储平台400中获取隐私数据a或隐私数据b。这样,提高了数据的可读取性。
集群密钥可以为对称密钥或非对称密钥。当待持久化的隐私数据包括用于在可信计算节点内部之间进行传输的第一隐私数据时,可以使用对称的集群密钥对第一隐私数据进行加密。当待持久化的隐私数据包括与客户端的服务访问相关的第二隐私数据时,可以使用非对称的集群密钥中的集群公钥对第二隐私数据进行加密,使用集群密钥中的集群私钥对加密后的第二隐私数据进行解密。客户端向可信计算节点发送的数据也可以使用集群公钥加密。针对采用上述方式加密的隐私数据,同一可信计算集群中的多个可信计算节点都可以从数据存储平台中对其进行读取,进而能够提高数据的安全性以及可读取性。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图5为一个实施例提供的可信计算集群的集群密钥获取装置的一种示意性框图。该装置实施例与图2所示方法实施例相对应。该装置500部署在处于TEE中的第一可信计算节点中,装置500包括以下单元。
第一获取单元510,配置为获取所述第一可信计算节点的配置信息;其中,所述配置信息包括配置的第一服务,以及用于标识所述第一可信计算节点是否为第一个配置所述第一服务的可信计算节点的标识信息。
发送单元520,配置为当所述标识信息表示所述第一可信计算节点不是第一个配置所述第一服务的可信计算节点时,向服务注册发现平台发送针对所述第一服务的访问请求。
接收单元530,配置为接收所述服务注册发现平台针对所述访问请求返回的响应消息;其中,所述响应消息包括配置了所述第一服务的第二可信计算节点的第一地址信息。
认证单元540,配置为利用所述第一地址信息,与所述第二可信计算节点之间进行远程RA认证,建立RA通道。
第二获取单元550,配置为通过建立的RA通道,从所述第二可信计算节点中获取集群密钥,作为所述第一可信计算节点和所述第二可信计算节点所在的可信计算集群的集群密钥。
在一种实施方式中,装置500还包括第一注册单元(图中未示出),配置为:在从所述第二可信计算节点中获取集群密钥之后,使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册,以使所述服务注册发现平台将所述第二地址信息加入所述第一服务对应的注册列表中。
在一种实施方式中,所述服务注册发现平台还用于管理包括所述第一可信计算节点在内的多个可信计算节点;所述第一获取单元510,具体配置为:接收服务注册发现平台发送的所述第一可信计算节点的配置信息;其中,所述配置信息由服务注册发现平台 依据服务配置请求从多个可信计算节点中选择第一可信计算节点并为其进行配置而得到。
在一种实施方式中,所述服务注册发现平台存储有所述第一可信计算节点的第二地址信息;所述第一注册单元,使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册时,包括:配置所述第一可信计算节点的状态为可服务状态,并使用所述第二地址信息与所述服务注册平台进行通信连接,以使所述服务注册发现平台在通过通信连接确定所述第一可信计算节点处于可服务状态时将所述第二地址信息加入所述第一服务对应的注册列表中。
在一种实施方式中,装置500还包括:生成单元(图中未示出),配置为当所述标识信息表示所述第一可信计算节点是第一个配置所述第一服务的可信计算节点时,生成集群密钥;第二注册单元(图中未示出),配置为当所述标识信息表示所述第一可信计算节点是第一个配置所述第一服务的可信计算节点时,使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册,以使所述服务注册发现平台将所述第二地址信息加入所述第一服务对应的注册列表中。
在一种实施方式中,装置500还包括:第一存储单元(图中未示出),配置为在从所述第二可信计算节点中获取集群密钥之后,利用所述第一可信计算节点的硬件标识,生成对称密钥,采用所述对称密钥对所述集群密钥进行加密,得到第一加密数据,将所述第一加密数据存储至本地磁盘空间。
在一种实施方式中,装置500还包括:第二存储单元(图中未示出),配置为在从所述第二可信计算节点中获取集群密钥之后,当存在待持久化的隐私数据时,利用所述集群密钥对所述隐私数据进行加密,得到第二加密数据,将所述第二加密数据存储至数据存储平台。
上述装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图2到图4所描述的方法。
本说明书还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图2到图4所描述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (16)

  1. 一种可信计算集群的集群密钥获取方法,通过处于可信执行环境TEE中的第一可信计算节点执行,所述方法包括:
    获取所述第一可信计算节点的配置信息;其中,所述配置信息包括配置的第一服务,以及用于标识所述第一可信计算节点是否为第一个配置所述第一服务的可信计算节点的标识信息;
    当所述标识信息表示所述第一可信计算节点不是第一个配置所述第一服务的可信计算节点时,向服务注册发现平台发送针对所述第一服务的访问请求;
    接收所述服务注册发现平台针对所述访问请求返回的响应消息;其中,所述响应消息包括配置了所述第一服务的第二可信计算节点的第一地址信息;
    利用所述第一地址信息,与所述第二可信计算节点之间进行远程RA认证,建立RA通道;
    通过建立的RA通道,从所述第二可信计算节点中获取集群密钥,作为所述第一可信计算节点和所述第二可信计算节点所在的可信计算集群的集群密钥。
  2. 根据权利要求1所述的方法,在从所述第二可信计算节点中获取集群密钥之后,还包括:
    使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册,以使所述服务注册发现平台将所述第二地址信息加入所述第一服务对应的注册列表中。
  3. 根据权利要求2所述的方法,所述服务注册发现平台还用于管理包括所述第一可信计算节点在内的多个可信计算节点;
    所述获取所述第一可信计算节点的配置信息的步骤,包括:
    接收所述服务注册发现平台发送的所述第一可信计算节点的配置信息,所述配置信息由所述服务注册发现平台依据服务配置请求从所述多个可信计算节点中选择第一可信计算节点并为其进行配置而得到。
  4. 根据权利要求3所述的方法,所述服务注册发现平台存储有所述第一可信计算节点的第二地址信息;所述使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册的步骤,包括:
    配置所述第一可信计算节点的状态为可服务状态,并使用所述第二地址信息与所述服务注册平台进行通信连接,以使所述服务注册发现平台在通过通信连接确定所述第一 可信计算节点处于可服务状态时将所述第二地址信息加入所述第一服务对应的注册列表中。
  5. 根据权利要求1所述的方法,还包括:
    当所述标识信息表示所述第一可信计算节点是第一个配置所述第一服务的可信计算节点时:
    生成集群密钥;
    使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册,以使所述服务注册发现平台将所述第二地址信息加入所述第一服务对应的注册列表中。
  6. 根据权利要求1所述的方法,在从所述第二可信计算节点中获取集群密钥之后,还包括:
    利用所述第一可信计算节点的硬件标识,生成对称密钥;
    采用所述对称密钥对所述集群密钥进行加密,得到第一加密数据;
    将所述第一加密数据存储至本地磁盘空间。
  7. 根据权利要求1所述的方法,在从所述第二可信计算节点中获取集群密钥之后,还包括:
    当存在待持久化的隐私数据时,利用所述集群密钥对所述隐私数据进行加密,得到第二加密数据,将所述第二加密数据存储至数据存储平台。
  8. 一种可信计算集群的集群密钥获取装置,部署在处于TEE中的第一可信计算节点中,所述装置包括:
    第一获取单元,配置为获取所述第一可信计算节点的配置信息;其中,所述配置信息包括配置的第一服务,以及用于标识所述第一可信计算节点是否为第一个配置所述第一服务的可信计算节点的标识信息;
    发送单元,配置为当所述标识信息表示所述第一可信计算节点不是第一个配置所述第一服务的可信计算节点时,向服务注册发现平台发送针对所述第一服务的访问请求;
    接收单元,配置为接收所述服务注册发现平台针对所述访问请求返回的响应消息;其中,所述响应消息包括配置了所述第一服务的第二可信计算节点的第一地址信息;
    认证单元,配置为利用所述第一地址信息,与所述第二可信计算节点之间进行远程RA认证,建立RA通道;
    第二获取单元,配置为通过建立的RA通道,从所述第二可信计算节点中获取集群 密钥,作为所述第一可信计算节点和所述第二可信计算节点所在的可信计算集群的集群密钥。
  9. 根据权利要求8所述的装置,还包括第一注册单元,配置为:
    在从所述第二可信计算节点中获取集群密钥之后,使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册,以使所述服务注册发现平台将所述第二地址信息加入所述第一服务对应的注册列表中。
  10. 根据权利要求9所述的装置,所述服务注册发现平台还用于管理包括所述第一可信计算节点在内的多个可信计算节点;
    所述第一获取单元,具体配置为:
    接收所述服务注册发现平台发送的所述第一可信计算节点的配置信息;其中,所述配置信息由所述服务注册发现平台依据服务配置请求从所述多个可信计算节点中选择第一可信计算节点并为其进行配置而得到。
  11. 根据权利要求10所述的装置,所述服务注册发现平台存储有所述第一可信计算节点的第二地址信息;所述第一注册单元,使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册时,包括:
    配置所述第一可信计算节点的状态为可服务状态,并使用所述第二地址信息与所述服务注册平台进行通信连接,以使所述服务注册发现平台在通过通信连接确定所述第一可信计算节点处于可服务状态时将所述第二地址信息加入所述第一服务对应的注册列表中。
  12. 根据权利要求8所述的装置,还包括:
    生成单元,配置为当所述标识信息表示所述第一可信计算节点是第一个配置所述第一服务的可信计算节点时,生成集群密钥;
    第二注册单元,配置为当所述标识信息表示所述第一可信计算节点是第一个配置所述第一服务的可信计算节点时,使用所述第一可信计算节点的第二地址信息向所述服务注册发现平台进行服务注册,以使所述服务注册发现平台将所述第二地址信息加入所述第一服务对应的注册列表中。
  13. 根据权利要求8所述的装置,还包括:
    第一存储单元,配置为在从所述第二可信计算节点中获取集群密钥之后,利用所述第一可信计算节点的硬件标识,生成对称密钥,采用所述对称密钥对所述集群密钥进行加密,得到第一加密数据,将所述第一加密数据存储至本地磁盘空间。
  14. 根据权利要求8所述的装置,还包括:
    第二存储单元,配置为在从所述第二可信计算节点中获取集群密钥之后,当存在待持久化的隐私数据时,利用所述集群密钥对所述隐私数据进行加密,得到第二加密数据,将所述第二加密数据存储至数据存储平台。
  15. 一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项的所述的方法。
  16. 一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项所述的方法。
PCT/CN2020/124709 2019-12-09 2020-10-29 可信计算集群的集群密钥获取方法及装置 WO2021114934A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911251776.X 2019-12-09
CN201911251776.XA CN111064569B (zh) 2019-12-09 2019-12-09 可信计算集群的集群密钥获取方法及装置

Publications (1)

Publication Number Publication Date
WO2021114934A1 true WO2021114934A1 (zh) 2021-06-17

Family

ID=70300456

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/124709 WO2021114934A1 (zh) 2019-12-09 2020-10-29 可信计算集群的集群密钥获取方法及装置

Country Status (2)

Country Link
CN (1) CN111064569B (zh)
WO (1) WO2021114934A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111064569B (zh) * 2019-12-09 2021-04-20 支付宝(杭州)信息技术有限公司 可信计算集群的集群密钥获取方法及装置
CN114637995A (zh) 2020-12-15 2022-06-17 福瑞斯技术有限公司 具有多种异构tee实施的方法和系统
CN113065156B (zh) * 2021-04-02 2022-05-17 支付宝(杭州)信息技术有限公司 一种控制延时的多方联合数据处理方法及装置
CN113556339B (zh) * 2021-07-20 2023-07-21 北京冲量在线科技有限公司 支持异构可信执行环境tee算力节点交互的隐私计算方法
CN113946864B (zh) * 2021-10-15 2024-03-19 北京智融云河科技有限公司 一种机密信息获取方法、装置、设备及存储介质
CN114138374B (zh) * 2021-12-06 2024-06-18 拉扎斯网络科技(上海)有限公司 一种可信计算任务执行方法以及可信计算系统
CN113987554B (zh) * 2021-12-23 2022-04-08 支付宝(杭州)信息技术有限公司 获取数据授权的方法、装置及系统
CN115412275A (zh) * 2022-05-23 2022-11-29 蚂蚁区块链科技(上海)有限公司 一种基于可信执行环境的隐私计算系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350534A1 (en) * 2015-05-29 2016-12-01 Intel Corporation System, apparatus and method for controlling multiple trusted execution environments in a system
CN107241448A (zh) * 2017-08-01 2017-10-10 成都鼎智汇科技有限公司 一种云存储节点负载均衡方法
WO2018073564A1 (en) * 2016-10-17 2018-04-26 Arm Ltd Blockchain mining using trusted nodes
CN109101822A (zh) * 2018-07-10 2018-12-28 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
CN109474430A (zh) * 2019-01-10 2019-03-15 四川虹微技术有限公司 一种集群密钥生成方法、装置及其存储介质
CN110046507A (zh) * 2018-12-12 2019-07-23 阿里巴巴集团控股有限公司 形成可信计算集群的方法及装置
CN111064569A (zh) * 2019-12-09 2020-04-24 支付宝(杭州)信息技术有限公司 可信计算集群的集群密钥获取方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
CN106487743B (zh) * 2015-08-25 2020-02-21 阿里巴巴集团控股有限公司 用于支持多用户集群身份验证的方法和设备
CN110034924B (zh) * 2018-12-12 2022-05-13 创新先进技术有限公司 一种数据处理方法和装置
CN109861980B (zh) * 2018-12-29 2020-08-04 阿里巴巴集团控股有限公司 一种建立可信计算集群的方法、装置、存储介质及计算设备
CN110034925B (zh) * 2019-01-07 2022-03-01 创新先进技术有限公司 跨机房可信计算集群形成及通信方法和装置
CN110191105B (zh) * 2019-05-13 2021-05-18 南京赛宁信息技术有限公司 OpenStack加密链路实现方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350534A1 (en) * 2015-05-29 2016-12-01 Intel Corporation System, apparatus and method for controlling multiple trusted execution environments in a system
WO2018073564A1 (en) * 2016-10-17 2018-04-26 Arm Ltd Blockchain mining using trusted nodes
CN107241448A (zh) * 2017-08-01 2017-10-10 成都鼎智汇科技有限公司 一种云存储节点负载均衡方法
CN109101822A (zh) * 2018-07-10 2018-12-28 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
CN110046507A (zh) * 2018-12-12 2019-07-23 阿里巴巴集团控股有限公司 形成可信计算集群的方法及装置
CN109474430A (zh) * 2019-01-10 2019-03-15 四川虹微技术有限公司 一种集群密钥生成方法、装置及其存储介质
CN111064569A (zh) * 2019-12-09 2020-04-24 支付宝(杭州)信息技术有限公司 可信计算集群的集群密钥获取方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NI MINGYAN: "The Design and Implementation of3A System in IMS Network", INFORMATION SCIENCE AND TECHNOLOGY, CHINESE MASTER’S THESES FULL-TEXT DATABASE, 1 May 2012 (2012-05-01), XP055819812 *

Also Published As

Publication number Publication date
CN111064569A (zh) 2020-04-24
CN111064569B (zh) 2021-04-20

Similar Documents

Publication Publication Date Title
WO2021114934A1 (zh) 可信计算集群的集群密钥获取方法及装置
WO2021114923A1 (zh) 针对隐私数据的数据存储、数据读取方法及装置
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
KR102369647B1 (ko) 두 장치 간의 신뢰 확립 기법
KR101957076B1 (ko) 다면적인 컴퓨트 인스턴스 식별 정보
JP7030778B2 (ja) データの複製先であるネットワークノードの識別
US9219722B2 (en) Unclonable ID based chip-to-chip communication
US9021264B2 (en) Method and system for cloud based storage
US20170214664A1 (en) Secure connections for low power devices
JP2020080530A (ja) データ処理方法、装置、端末及びアクセスポイントコンピュータ
US10587605B2 (en) Certificate pinning in highly secure network environments using public key certificates obtained from a DHCP (dynamic host configuration protocol) server
US10257171B2 (en) Server public key pinning by URL
US11399013B2 (en) Secure service mesh
Soriente et al. Replicatee: Enabling seamless replication of sgx enclaves in the cloud
JP2018041224A (ja) ソフトウェア更新システム
KR20180005887A (ko) 클라이언트 시스템 인증 방법, 클라이언트 장치 및 인증 서버
US10158610B2 (en) Secure application communication system
CN111079158A (zh) 数据存储和读取的方法及装置
US11621856B2 (en) Generating a domain name system container image to create an instance of a domain name system container
US11296878B2 (en) Private key updating
US20170295142A1 (en) Three-Tiered Security and Computational Architecture
CN117879819B (zh) 密钥管理方法、装置、存储介质、设备及算力服务系统
US20230125556A1 (en) Secure autonomic recovery from unusable data structure via a trusted device in a secure peer-to-peer data network
WO2023006937A1 (en) Method, cloud-service method, cloud server, self-sovereign identity method for providing a self-sovereign identity cloud service to a user
Correia Securing Metadata for Data Storage on the Edge

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20898160

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20898160

Country of ref document: EP

Kind code of ref document: A1