CN111756675B - Data processing method, device, equipment and system - Google Patents

Data processing method, device, equipment and system Download PDF

Info

Publication number
CN111756675B
CN111756675B CN201910244020.6A CN201910244020A CN111756675B CN 111756675 B CN111756675 B CN 111756675B CN 201910244020 A CN201910244020 A CN 201910244020A CN 111756675 B CN111756675 B CN 111756675B
Authority
CN
China
Prior art keywords
key
trusted computing
version number
computing node
key version
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201910244020.6A
Other languages
Chinese (zh)
Other versions
CN111756675A (en
Inventor
周洲
林强
强琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nail Holding Cayman Co ltd
Original Assignee
Nail Holding Cayman Co ltd
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 Nail Holding Cayman Co ltd filed Critical Nail Holding Cayman Co ltd
Priority to CN201910244020.6A priority Critical patent/CN111756675B/en
Publication of CN111756675A publication Critical patent/CN111756675A/en
Application granted granted Critical
Publication of CN111756675B publication Critical patent/CN111756675B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

The embodiment of the invention provides a data processing method, a device, equipment and a system, wherein the method is applied to each trusted computing node in a trusted computing cluster, and each trusted computing node shares the same secret key. The data processing process is as follows: the trusted computing node sends a data acquisition request comprising a latest key version number corresponding to the trusted computing node to the user equipment; receiving first encrypted data sent by user equipment and carrying out data processing on the first encrypted data, wherein the first encrypted data is obtained by encrypting requested data by using a latest key corresponding to the latest key version number when the user equipment determines that the latest key version number exists in a locally stored key set, and each key version number passing trusted authentication and a corresponding key are stored in the key set. For a certain key version number, once the key version number passes the trusted authentication, any subsequent trusted computing node does not need to perform the trusted authentication again when using the key version number to request data, thereby simplifying the trusted authentication process.

Description

Data processing method, device, equipment and system
Technical Field
The present invention relates to the field of internet technologies, and in particular, to a data processing method, apparatus, device, and system.
Background
A trusted computing technology is provided for ensuring the security of legal software and data of users. The trusted execution environment can be constructed through the trusted computing technology, and legal software and data of a user can run in the trusted execution environment so as to avoid malicious attack.
In some practical applications, for example, a certain enterprise may generate a huge amount of data, which requires some computational processing by certain software (or a certain piece of code). To improve data processing efficiency, the software of the enterprise may be deployed in multiple trusted execution environments to form a trusted computing cluster consisting of multiple trusted computing nodes (the software running in a trusted execution environment is referred to as a trusted computing node), so that different portions of the data of the enterprise are computed by software in different trusted execution environments.
However, in the above solution of the trusted computing cluster, when a certain trusted computing node requests a certain part of data from the server of the enterprise, the server remotely authenticates software running in the trusted computing node to authenticate whether the software is legitimate software running in the trusted execution environment and indeed audited by itself, and if the software passes the authentication, the server encrypts corresponding data and provides the encrypted data to the software for computing.
It can be seen that when the size of the trusted computing cluster is large, since the data provider (i.e. the enterprise in the above example) needs to complete the remote authentication process when the software in each trusted execution environment requests data, the authentication efficiency may be low.
Disclosure of Invention
The embodiment of the invention provides a data processing method, a data processing device, data processing equipment and a data processing system, which are used for improving the data processing efficiency.
In a first aspect, an embodiment of the present invention provides a data processing method applied to each trusted computing node in a trusted computing cluster, where each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and the trusted computing nodes share a same secret key, and for any one of the trusted computing nodes, the method includes:
sending a data acquisition request to user equipment, wherein the data acquisition request comprises a latest key version number corresponding to the trusted computing node;
receiving first encrypted data sent by the user equipment, wherein the first encrypted data is obtained by encrypting data corresponding to the data acquisition request by using a latest key corresponding to the latest key version number when the user equipment determines that the latest key version number exists in a key set stored in the user equipment, and each key version number passing trusted authentication and corresponding keys are stored in the key set;
and performing data processing on the first encrypted data.
In a second aspect, an embodiment of the present invention provides a data processing apparatus applied to each trusted computing node in a trusted computing cluster, where each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and the trusted computing nodes share a same secret key, and for any one of the trusted computing nodes, the apparatus includes:
a sending module, configured to send a data acquisition request to user equipment, where the data acquisition request includes a latest key version number of the trusted computing node;
a receiving module, configured to receive first encrypted data sent by the user equipment, where the first encrypted data is obtained by encrypting, by the user equipment, data corresponding to the data acquisition request with a latest key corresponding to the latest key version number when it is determined that the latest key version number exists in a key set stored in the user equipment, and each key version number and corresponding key that have passed trusted authentication are stored in the key set;
and the processing module is used for carrying out data processing on the first encrypted data.
In a third aspect, an embodiment of the present invention provides an electronic device, where the electronic device is used as a trusted computing node in a trusted computing cluster, and the electronic device includes: a first memory, a first processor; wherein the first memory has stored thereon a data processing service running in a trusted execution environment, which when executed by the first processor causes the first processor to implement at least the data processing method of the first aspect.
In a fourth aspect, an embodiment of the present invention provides a non-transitory machine-readable storage medium, on which is stored executable code, and when the executable code is executed by a processor of an electronic device, the processor is enabled to implement at least the data processing method in the first aspect.
In a fifth aspect, an embodiment of the present invention provides a data processing method, which is applied to a user equipment, and the method includes:
receiving a data acquisition request sent by any trusted computing node in a trusted computing cluster, wherein the data acquisition request comprises a latest key version number corresponding to the trusted computing node;
if the latest key version number exists in a key set stored in the user equipment, encrypting the data corresponding to the data acquisition request by using the latest key corresponding to the latest key version number to obtain first encrypted data, wherein each key version number which passes the trusted authentication and a corresponding key are stored in the key set;
sending the first encrypted data to the trusted computing node for processing;
wherein each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and the trusted computing nodes share a same key.
In a sixth aspect, an embodiment of the present invention provides a data processing apparatus, which is applied to user equipment, and includes:
the system comprises a receiving module, a sending module and a receiving module, wherein the receiving module is used for receiving a data acquisition request sent by any trusted computing node in a trusted computing cluster, and the data acquisition request comprises a latest key version number corresponding to the trusted computing node;
the encryption module is used for encrypting the data corresponding to the data acquisition request by adopting a latest key corresponding to the latest key version number to obtain first encrypted data if the latest key version number exists in a key set stored in the user equipment, and each key version number which passes trusted authentication and a corresponding key are stored in the key set;
the sending module is used for sending the first encrypted data to the trusted computing node for processing;
wherein each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and the trusted computing nodes share a same key.
In a seventh aspect, an embodiment of the present invention provides an electronic device, including a second processor and a second memory, where the second memory stores executable code, and when the executable code is executed by the second processor, the second processor is caused to implement at least the data processing method according to the fifth aspect.
In an eighth aspect, the present invention provides a non-transitory machine-readable storage medium, on which executable code is stored, and when the executable code is executed by a processor of an electronic device, the processor is enabled to implement at least the data processing method in the fifth aspect.
In a ninth aspect, an embodiment of the present invention provides a data processing system, including:
the user equipment is a trusted computing cluster formed by a plurality of trusted computing nodes;
wherein each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and each trusted computing node shares a same key;
the trusted computing node is configured to send a data acquisition request to the user equipment, where the data acquisition request includes a latest key version number corresponding to the trusted computing node; receiving first encrypted data sent by the user equipment, and performing data processing on the first encrypted data;
the user equipment is configured to encrypt data corresponding to the data acquisition request by using a latest key corresponding to the latest key version number to obtain the first encrypted data when it is determined that the latest key version number exists in a key set stored in the user equipment, where each key version number and a corresponding key that have passed trusted authentication are stored in the key set.
In a tenth aspect, an embodiment of the present invention provides a data processing method, where each trusted computing node in a trusted computing cluster executes, and each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and each trusted computing node shares a same secret key.
In the embodiment of the present invention, a certain data processing service running in a trusted execution environment is referred to as a trusted computing node, and then the data processing service running in different trusted execution environments (generally located in different machines) will form a plurality of trusted computing nodes, and the plurality of trusted computing nodes form a trusted computing cluster for processing data of a user corresponding to the data processing service. In order to improve data processing efficiency, all trusted computing nodes in the trusted computing cluster are required to converge to the same key, that is, each trusted computing node shares the same key, and the key is used for encrypting data transmitted between the trusted computing node and a user device (that is, a device of a data provider). The key has attribute information of key version number, which means that the key is dynamically updated, and each key often has only a certain life cycle.
Specifically, when a certain trusted computing node in the trusted computing cluster requests some data from the user equipment, the latest key version number currently obtained by the certain trusted computing node is carried in the data acquisition request. The user equipment compares whether the latest key version number exists in a locally stored key set which passes the authentication, if so, the user equipment indicates that a certain trusted computing node uses the latest key corresponding to the latest key version number to complete trusted data transmission with the user equipment, namely, the latest key is authenticated to be reliable, at this moment, the user equipment does not need to authenticate the trusted computing node which triggers the data acquisition request at present, and only needs to encrypt data to be acquired by the trusted computing node by using the latest key and send the data to the trusted computing node. Therefore, for a certain key version number, only when a certain trusted computing node uses the key version number to request data for the first time, the user equipment needs to perform trusted authentication on the trusted computing node, once the authentication is passed, all trusted computing nodes are guaranteed to converge to the same key in the trusted computing cluster, so that other subsequent trusted computing nodes do not need to perform trusted authentication again when using the key version number to request data, and the overall efficiency of data processing is improved by simplifying the trusted authentication process.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings can be obtained by those skilled in the art without creative efforts.
FIG. 1 is a block diagram of a data processing system according to an embodiment of the present invention;
fig. 2 is a flowchart of a data processing method according to an embodiment of the present invention;
FIG. 3 is a flow chart of another data processing method according to an embodiment of the present invention;
FIG. 4 is a flow chart of another data processing method according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of an organization of a distributed system according to an embodiment of the present invention;
FIG. 6 is a flowchart of another data processing method according to an embodiment of the present invention;
fig. 7 is a flowchart of a further data processing method according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of an electronic device corresponding to the data processing apparatus provided in the embodiment shown in fig. 8;
FIG. 10 is a block diagram of another data processing apparatus according to an embodiment of the present invention;
fig. 11 is a schematic structural diagram of an electronic device corresponding to the data processing apparatus provided in the embodiment shown in fig. 10.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terminology used in the embodiments of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the examples of the present invention and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well. "plurality" generally includes at least two unless the context clearly dictates otherwise.
The words "if", as used herein, may be interpreted as "at \8230; \8230when" or "when 8230; \823030, when" or "in response to a determination" or "in response to a detection", depending on the context. Similarly, the phrases "if determined" or "if detected (a stated condition or event)" may be interpreted as "when determined" or "in response to a determination" or "when detected (a stated condition or event)" or "in response to a detection (a stated condition or event)", depending on the context.
It is also noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a good or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such good or system. Without further limitation, an element defined by the phrases "comprising one of \8230;" does not exclude the presence of additional like elements in an article or system comprising the element.
In addition, the sequence of steps in the embodiments of the methods described below is merely an example, and is not strictly limited.
Fig. 1 is a schematic composition diagram of a data processing system according to an embodiment of the present invention, and as shown in fig. 1, the data processing system includes: the user equipment is a trusted computing cluster formed by a plurality of trusted computing nodes. Wherein each trusted computing node in the trusted computing cluster corresponds to the same data processing service running in the respective trusted execution environment. Each trusted computing node shares the same key.
In the embodiment of the present invention, the user device refers to a device of a data provider (a user is referred to as a data provider herein), and may specifically be one or more servers, computer devices, or cloud storage nodes.
In the embodiment of the present invention, a data processing service running in a trusted execution environment is referred to as a trusted computing node, and then the data processing service running in different trusted execution environments (generally located in different machines) will form a plurality of trusted computing nodes, and the plurality of trusted computing nodes form a trusted computing cluster for processing data of a user (i.e., the data provider) corresponding to the data processing service.
In an optional embodiment, the trusted computing node may be specifically implemented as an enclave (enclave), and the enclave may provide an isolated trusted execution environment, and may still provide protection for user codes, that is, the data processing service and the memory data, in the enclave even when the BIOS, the virtual machine monitor, the host operating system, and the driver are attacked by malicious codes, so as to prevent malicious software attack, thereby ensuring confidentiality and integrity of key codes and data of the user.
In practical application, a data provider can develop the data processing service by itself or by other people according to data processing requirements, and deploy the data processing service in trusted execution environments of multiple machines respectively to form multiple trusted computing nodes, and the multiple trusted computing nodes perform data processing for the data provider.
For example, assuming that the trusted computing cluster is configured to periodically acquire data from a data provider and perform computing processing on the acquired data, when the amount of data generated by the data provider is large in a certain period of time, such as a week, a plurality of trusted computing nodes in the trusted computing cluster may respectively acquire data of different parts of time, such as the trusted computing node 1 acquires data generated by monday through wednesday, the trusted computing node 2 acquires data generated by thursday through friday, and the trusted computing node 3 acquires data generated by saturday and sunday, so that the overall data processing efficiency may be improved through cooperation of the plurality of trusted computing nodes.
It will be appreciated that in a trusted execution environment, data transfers between a trusted computing node and a user device of a data provider are ciphertext transfers. In the embodiment of the present invention, in order to further improve the data processing efficiency, all trusted computing nodes in the trusted computing cluster are required to converge to the same key, that is, each trusted computing node shares the same key.
In addition, if a key is used all the time, if the key is leaked, the data security of the data provider is threatened, and in order to prevent this, the key can be replaced periodically. That is, when the key is changed, each trusted computing node in the trusted computing cluster needs to synchronize, i.e., converge to the updated key.
In this embodiment, the attribute information of the key version number is defined to reflect the update condition of the key. In practice, the version number of the initially generated key can be set to V1, and then the key version number is increased by one every time the key is updated, which becomes V2, V3. Each key may be set to have a certain life cycle, which when reached triggers the generation of a new key.
In the foregoing, in order to improve the overall data processing efficiency, it is required that each trusted computing node in the trusted computing cluster converges to the same key. The following describes in detail how the data processing efficiency is improved when trusted computing nodes converge to the same key.
As shown in fig. 1, for any trusted computing node (assumed to be denoted as trusted computing node X) in the trusted computing cluster, when a certain trigger condition is satisfied, in step S1, the trusted computing node X sends a data acquisition request to the user equipment, where the data acquisition request includes a latest key version number corresponding to the trusted computing node X. It is understood that the data acquisition request also carries a data parameter indicating which data the trusted computing node X needs to acquire, such as data generated within a certain time period, or data of a certain type needs to be acquired, etc. The latest key version number included in the data acquisition request refers to a key version number corresponding to the latest key in the one or more keys locally stored by the trusted computing node X.
After receiving the data acquisition request, in step S2, the user equipment determines whether the latest key version number included in the data acquisition request exists in the locally stored key set. The local key set of the user equipment stores the version number of each key which passes the trusted authentication and the corresponding key.
The following description of the trusted authentication process (which may also be referred to as a trusted metric) triggered by the user equipment is provided, where it is emphasized that, if the key set already includes the latest key version number and the corresponding key (referred to as a latest key), that is, a certain trusted computing node has completed trusted data transmission with the user equipment by using the latest key corresponding to the latest key version number, that is, the latest key is authenticated to be reliable, at this time, the user equipment does not need to authenticate the trusted computing node X that currently triggers the data acquisition request. At this time, in step S3a, if the key set includes the latest key version number, the user equipment encrypts the data to be acquired by the trusted computing node X by using the latest key corresponding to the latest key version number to obtain first encrypted data, and sends the first encrypted data to the trusted computing node X.
However, if the key set does not include the latest key version number, it means that after the latest key corresponding to the latest key version number is generated, the data acquisition request triggered by the trusted computing node X is the data acquisition request triggered to the user equipment by the latest key version number for the first time, that is, it means that no data transmission has been performed between the user equipment and the latest key corresponding to the latest key version number that has been used by the trusted computing node. At this time, in order to ensure the security of the data, the user equipment needs to perform trusted authentication on the trusted computing node to determine whether the data processing service corresponding to the trusted computing node X is a legitimate data processing service that has been audited by the data provider before.
Therefore, in step S3b1, if the key set does not include the latest key version number, the user equipment encrypts the data to be acquired by the trusted computing node X by using the old key corresponding to the old key version number to obtain second encrypted data, and sends the second encrypted data to the trusted computing node X. Meanwhile, in step S3b2, trusted authentication is performed on the trusted computing node X, and if the authentication passes, a secure transmission channel is established with the trusted computing node X, and a latest key corresponding to the latest key version number is obtained from the trusted computing node X through the secure transmission channel, and the latest key version number and the latest key are updated into the key set. When the latest key version number and the latest key are updated into the key set, and then other subsequent trusted computing nodes trigger the data acquisition request again with the latest key version number, the user equipment does not need to perform trusted authentication on the trusted computing node because the latest key version number and the latest key already exist in the key set.
Therefore, for a certain key version number, only when a certain trusted computing node uses the key version number to request data for the first time, the user equipment needs to perform trusted authentication on the trusted computing node, once the authentication is passed, all trusted computing nodes are guaranteed to converge to the same key in the trusted computing cluster, so that other subsequent trusted computing nodes do not need to perform trusted authentication again when using the key version number to request data, and the overall efficiency of data processing is improved by simplifying the trusted authentication process.
As shown in fig. 1, after receiving the first encrypted data or the second encrypted data, in step S4, the trusted computing node X performs data processing on the received first encrypted data or second encrypted data. Specifically, in the process of data processing, the trusted computing node X first decrypts the plaintext data with the corresponding key, and then performs other computing processes on the plaintext data, and stores the computing result locally.
The following describes, with reference to the following embodiments, the execution flows of the trusted computing node and the user equipment in the data processing process, respectively, from the perspective of the trusted computing node and the user equipment.
First, the data processing method provided in the embodiment of the present invention is applied to each trusted computing node in a trusted computing cluster, that is, executed by each trusted computing node in the trusted computing cluster, where each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and each trusted computing node shares a same secret key. The meanings of the trusted computing cluster and the trusted computing node are referred to in the foregoing description. Each trusted computing node shares the same key, which is beneficial to simplifying the trusted authentication process of the trusted computing nodes, thereby being beneficial to improving the overall data processing efficiency. The following describes a data processing procedure of the trusted computing node in conjunction with the following embodiments.
Fig. 2 is a flowchart of a data processing method according to an embodiment of the present invention, where the data processing method may be executed by any trusted computing node in the embodiment shown in fig. 1. As shown in fig. 2, the method comprises the steps of:
201. and the trusted computing node sends a data acquisition request to the user equipment, wherein the data acquisition request comprises a latest key version number corresponding to the trusted computing node.
202. And the trusted computing node receives first encrypted data sent by the user equipment, wherein the first encrypted data is obtained by adopting data corresponding to a latest key encrypted data acquisition request corresponding to a latest key version number when the user equipment determines that the latest key version number exists in a key set stored in the user equipment.
203. And the trusted computing node performs data processing on the first encrypted data.
In this embodiment, the specific execution process of the trusted computing node may refer to the description in the foregoing embodiment, which is not described herein again.
Fig. 3 is a flowchart of another data processing method according to an embodiment of the present invention, where the data processing method may be executed by any trusted computing node in the embodiment shown in fig. 1. As shown in fig. 3, the method comprises the steps of:
301. and the trusted computing node sends a data acquisition request to the user equipment, wherein the data acquisition request comprises a latest key version number corresponding to the trusted computing node.
302. The trusted computing node receives second encrypted data sent by the user equipment, and establishes a secure transmission channel with the user equipment after the user equipment determines that the trusted computing node passes authentication; and the second encrypted data is obtained by encrypting data corresponding to the data acquisition request by using an old key corresponding to the old key version number when the user equipment determines that the latest key version number does not exist in the key set, and the user equipment initiates trusted authentication on the trusted computing node when determining that the latest key version number does not exist in the key set.
303. And the trusted computing node sends the latest key corresponding to the latest key version number to the user equipment through a secure transmission channel so that the user equipment updates the latest key version number and the latest key into the key set.
304. And the trusted computing node performs data processing on the second encrypted data.
After receiving the data acquisition request, the user equipment initiates trusted authentication on the trusted computing node if determining that the latest key version number carried in the data acquisition request does not exist in the local key set. The process of the trusted authentication can be implemented by using the existing related technology, and only the authentication process is described in brief in this embodiment:
after the data processing service is initially deployed in the trusted execution environment provided by the trusted computing node, the user can audit the data processing service running in the trusted execution environment, that is, audit whether the data processing service is designed by itself and has not been changed or whether the data processing service meets the needs of itself under the condition that the data processing service is designed by others. In the auditing process, the user equipment can compile the code of the data processing service, and further perform hash operation processing on the compilation result to obtain a first hash value which is stored locally in the user equipment.
After receiving the data acquisition request, the user equipment may request the trusted computing node to provide an operation report thereof, that is, an operation report of the data processing service in the trusted execution environment. The running report includes a second hash value corresponding to the running of the data processing service in the trusted execution environment, that is, the trusted computing node performs code compilation on the data processing service and performs hash operation on a compilation result to obtain a hash value. On one hand, the user can submit the running report to a hardware provider corresponding to the trusted execution environment, and the hardware provider verifies whether the running report is true and correct, and on the other hand, the user can compare whether the first hash value and the second hash value are consistent. And if the operation report is correct and the first hash value is consistent with the second hash value, determining that the trusted computing node passes the trusted authentication.
The secure transmission channel is that when the trusted computing node passes the trusted authentication, the user equipment and the trusted computing node may negotiate a pair of keys, and then data interaction between the user equipment and the trusted computing node is encrypted and transmitted by the negotiated keys, so as to ensure data security. However, in this embodiment, the data to be transmitted is the latest key corresponding to the latest key version number.
In this embodiment, for the execution process of the trusted computing node, which is not described in detail, reference may be made to the description in the foregoing embodiment, which is not described herein again.
As mentioned previously, each trusted computing node in a trusted computing cluster is required to converge to the same key. The convergence of keys in trusted computing nodes is described below in conjunction with the embodiment shown in fig. 4.
Fig. 4 is a flowchart of another data processing method provided in an embodiment of the present invention, where the data processing method may be executed by any trusted computing node X in the embodiment shown in fig. 1. As shown in fig. 4, the method may include the steps of:
401. the trusted computing node X obtains a first set of key version numbers in the trusted computing cluster.
402. And the trusted computing node X determines a third key version number set which needs to be acquired according to the second key version number set and the first key version number set which are locally stored.
In an alternative embodiment, a distributed system may be introduced to assist in the process of convergence of trusted computing nodes to the same key. The distributed system may be configured to store key-related information for each trusted computing cluster, the key-related information including: the version number of each key and the corresponding key that have been generated in each trusted computing cluster, and which trusted computing nodes the respective keys have been stored in, etc.
For ease of understanding, as shown in FIG. 5, it is assumed that there are three trusted computing clusters, a _ cluster, b _ cluster, and c _ cluster, respectively, illustrated in FIG. 5. Taking the trusted computing cluster a _ cluster as an example, it is assumed that the storage of key related information of the trusted computing cluster is organized into the structure illustrated in fig. 5: the distributed lock (lock) is a storage path formed by a key (key), a key version number (vers) and a trusted computing node in which the key is stored. All the key related information currently generated in the trusted computing cluster a _ cluster exists in the distributed system, as shown in fig. 5, it is assumed that three key version numbers V1, V2, and V3 and their corresponding keys have been generated in the trusted computing cluster a _ cluster, and it is assumed that the key corresponding to the key version number V1 is currently stored in the trusted computing node X and the trusted computing node Y, where 10.11.121.19 is IP 21107: port is the corresponding IP address and Port number of the trusted computing node X. Similarly, 10.11.121.34 this IP: and the Port is an IP address and a Port number corresponding to the trusted computing node Y. In addition, the storage of the keys corresponding to the two key version numbers V2 and V3 is shown in fig. 5.
Taking fig. 5 as an example, in practical application, the trusted computing node X may read the key related information of the trusted computing cluster a _ cluster in which it is located from the distributed system when starting, so as to form the first key version number set. The first key version number set includes the respective key version numbers of the trusted computing cluster a _ cluster and the trusted computing node identifiers (such as IP addresses and port numbers illustrated in fig. 5) where the keys corresponding to each key version number are stored.
And after obtaining the first key version number set, the trusted computing node X determines a third key version number set which needs to be obtained according to a second locally stored key version number set and the first key version number set. Wherein, stored in the second set of key version numbers are the respective key version numbers that the trusted computing node X has obtained since being created. For the illustrative case in fig. 5, it is assumed that the second set of key version numbers locally stored by the current trusted computing node X includes key version numbers V1 and V2. Then, the intersection of the first key version number set and the second key version number set is taken to obtain a third key version number set, and at this time, the third key version number set is composed of the key version number V3. This indicates that the trusted computing node needs to obtain the key corresponding to the key version number V3.
In the above description, it is assumed that all the key-related information generated by the trusted computing cluster a _ cluster since its creation is stored in the distributed system, but in an alternative embodiment, in order to improve the storage utilization of the distributed system, only the key-related information "currently valid" in the trusted computing cluster a _ cluster may be stored in the distributed system, and specifically, only the key version number "currently valid" and the trusted computing node identifier where the key corresponding to the key version number is stored are stored.
The term "currently valid" refers to that, in order to reduce the occupation of the storage resources of the distributed system, the invalid key version number may be deleted from the distributed system. The invalidity of the key version number may be defined as follows: as shown in fig. 5, assuming that three key version numbers V1, V2, and V3 and their corresponding keys have been generated in sequence since the trusted computing cluster a _ cluster was created, and assuming that it is specified that at most two key version numbers are stored in the distributed system in each trusted computing cluster, according to the generation time sequence, the currently valid key version numbers are V2 and V3, and V1 is an invalid key version number, and should not be included in the first set of key version numbers.
In this case, the step of determining the third key version number set including the key version number that needs to be obtained by the trusted computing node X is specifically implemented as follows: filtering out the key version number which does not exist in the first key version number set in the second key version number set by the trusted computing node X to obtain a fourth key version number set; and filtering each key version number in the fourth key version number set in the first key version number set to obtain a third key version number set, wherein the currently effective key version number in the trusted computing cluster is stored in the first key version number set.
Referring to fig. 5, the key version numbers included in the second set of key version numbers of the trusted computing node X are V1 and V2, and the key version numbers included in the first set of key version numbers are V2 and V3. Taking the intersection of the first key version number set and the second key version number set to obtain a fourth key version number set consisting of the currently valid key version number in the trusted computing node X: a fourth set of key version numbers is formed by the key version number V2. And further, a fourth key version number set is filtered from the first key version number set to obtain a third key version number set consisting of key version numbers V3.
403. And the trusted computing node X publishes the corresponding relation between the trusted computing node X and the fourth key version number set in the trusted computing cluster.
Since the trusted computing node X locally stores the key version number included in the fourth key version number set, in an optional embodiment, the trusted computing node X may add its identifier to a storage path corresponding to the key version number included in the fourth key version number set, so as to publish its corresponding relationship with the fourth key version number set in the trusted computing cluster a _ cluster.
404. And the trusted computing node X acquires the key corresponding to each key version number in the third key version number set from the corresponding trusted computing node according to the trusted computing node identifier corresponding to each key version number in the third key version number set.
Because each key version number in the first key version number set is associated with a trusted computing node identifier for storing a corresponding key, and the third key version number set is obtained through the first key version number set, the trusted computing node identifier corresponding to each key version number in the third key version number set is known, and the trusted computing node X obtains the key corresponding to each key version number in the third key version number set from the corresponding trusted computing node according to the known trusted computing node identifier. In fig. 5, the third set of key version numbers corresponding to the trusted computing node X is composed of a key version number V3, and a key corresponding to the key version number V3 is stored in the trusted computing node Y, so that the trusted computing node X can obtain the key corresponding to the key version number V3 from the trusted computing node Y.
The embodiment shown in fig. 4 illustrates how, for any trusted computing node X, if keys that have not been obtained by itself are already generated in the trusted computing cluster, the trusted computing node X should obtain the keys, so as to achieve the purpose that each trusted computing node in the trusted computing cluster keeps key synchronization, i.e., converges to the same key. The generation process of the key is described below in conjunction with the embodiment shown in fig. 6.
Fig. 6 is a flowchart of another data processing method according to an embodiment of the present invention, where the data processing method may be executed by any trusted computing node X in the embodiment shown in fig. 1. As shown in fig. 6, the method may include the steps of:
601. and if the trusted computing node X finds that a new key version number is generated in the trusted computing cluster and the new key version number is not associated with the corresponding trusted computing node within the set time length, acquiring the key generation permission.
602. And the trusted computing node X updates the password version number and generates a key corresponding to the updated key version number.
603. And the trusted computing node X publishes the corresponding relation between the trusted computing node X and the updated key version number in the trusted computing cluster.
In practical applications, when the trusted computing node X is started, the processing procedure of the embodiment shown in fig. 4 has synchronized the keys of the versions generated in the current trusted computing cluster to its local, but in the subsequent working process, a new key version number and a corresponding key may be continuously generated in the trusted computing cluster. Therefore, the trusted computing node X also needs to discover a newly generated key version number in the trusted computing cluster in time in order to synchronize the newly generated key version number and its corresponding key to the local.
Specifically, the trusted computing node may continuously query the distributed system at certain time intervals to obtain the first set of key version numbers corresponding to the trusted computing cluster at different times. When a new key version number (for example, a new key version number V4 appears on the basis of the original key version numbers V1, V2, and V3) appears in the first key version number set obtained again at a subsequent time, a corresponding key is requested to be obtained from the corresponding trusted computing node according to the trusted computing node identifier corresponding to the new key version number.
Assuming that the new key version number V4 and the corresponding key are generated by the trusted computing node Y, after the trusted computing node Y generates the new key version number V4, the corresponding relationship between itself and the new key version number V4 is published in the trusted computing cluster to inform other trusted computing nodes in the trusted computing cluster that they have generated a new key version number V4 and a corresponding key, so that the other trusted computing nodes synchronize the keys corresponding to the new key version number.
However, the trusted computing node Y may be in the process of making the above publication in the following situations: although the trusted computing node Y publishes that a new key version number V4 is generated in the trusted computing cluster, the trusted computing node Y does not successfully establish a corresponding relationship between itself and the new key version number V4, so that only one new key version number V4 appears in the trusted computing cluster, but there is no corresponding trusted computing node identifier.
At this time, when the trusted computing node X finds that a new key version number V4 is generated in the trusted computing cluster, but the new key version number V4 is not associated with the corresponding trusted computing node identifier, the distributed system may be queried again after a certain time, and if it is found that a certain trusted computing node identifier is associated with the new key version number V4 at this time, the corresponding key is obtained from the corresponding trusted computing node. Otherwise, if the new key version number V4 is still not associated with the trusted computing node identifier after a certain period of time, the trusted computing node X may request to acquire the key generation permission, and regenerate a new key version number V5 and the corresponding key.
The reason why the trusted computing node X requests to acquire the key generation permission to regenerate a new key version number V5 and a corresponding key is that each key is set to have a certain life cycle, and the occurrence of the new key version number V4 indicates that the key corresponding to the previous key version number V3 should be replaced at this time, but the trusted computing node Y, which is a generator of the key corresponding to the current key version number V4, cannot successfully publish the correspondence between itself and the key version number V4 in the trusted computing cluster for some reason, and in order to ensure the security of subsequent data transmission, can only update the key version number V5 again and regenerate the key corresponding to V5.
At this time, any trusted computing node in the trusted computing cluster can rob the key version number V5 and the generation authority of the corresponding key. Assuming that the trusted computing node X robs the generation authority, the trusted computing node X generates a key version number V5 and a corresponding key, and after the generation, publishes a correspondence between an identifier of the trusted computing node X and the key version number V5 in the trusted computing cluster.
In the distributed system, a distributed lock mechanism is provided, and the trusted computing node X can obtain the key generation authority by robbing the distributed lock. After the new key is generated, the lock is released.
Fig. 7 is a flowchart of a data processing method according to an embodiment of the present invention, where the data processing method may be executed by the foregoing user equipment. As shown in fig. 7, the method may include the steps of:
701. and receiving a data acquisition request sent by any trusted computing node in the trusted computing cluster, wherein the data acquisition request comprises a latest key version number corresponding to the trusted computing node.
702. And determining whether the latest key version number corresponding to the trusted computing node exists in a key set stored in the user equipment, if so, executing step 703, otherwise, executing steps 704-705.
The key set stores the version number of each key passing the trusted authentication and the corresponding key.
703. And encrypting data corresponding to the data acquisition request by using the latest key corresponding to the latest key version number to obtain first encrypted data, and sending the first encrypted data to the trusted computing node for processing.
704. And encrypting data corresponding to the data acquisition request by using the old key corresponding to the version number of the old key to obtain second encrypted data, and sending the second encrypted data to the trusted computing node for processing.
705. If the trusted computing node is confirmed to pass the trusted authentication, a secure transmission channel between the trusted computing node and the trusted computing node is established, a latest key corresponding to the latest key version number is obtained from the trusted computing node through the secure transmission channel, and the latest key version number and the latest key are updated into the key set.
For the detailed description of the execution process of the ue in this embodiment, please refer to the description in the other related embodiments, which is not repeated herein.
The data processing apparatus of one or more embodiments of the present invention will be described in detail below. Those skilled in the art will appreciate that these data processing devices can each be constructed using commercially available hardware components configured through the steps taught in this scheme.
Fig. 8 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present invention, where the apparatus is applied to each trusted computing node in a trusted computing cluster, where each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and the trusted computing nodes share a same secret key, and for any one of the trusted computing nodes, as shown in fig. 8, the apparatus includes: a sending module 11, a receiving module 12 and a processing module 13.
A sending module 11, configured to send a data obtaining request to a user equipment, where the data obtaining request includes a latest key version number of the trusted computing node.
A receiving module 12, configured to receive first encrypted data sent by the user equipment, where the first encrypted data is obtained by encrypting, by the user equipment, data corresponding to the data acquisition request with a latest key corresponding to the latest key version number when it is determined that the latest key version number exists in a key set stored in the user equipment, and each authenticated key version number and corresponding key are stored in the key set.
And the processing module 13 is configured to perform data processing on the first encrypted data.
In an optional embodiment, the receiving module 12 may be further configured to: and receiving second encrypted data sent by the user equipment, wherein the second encrypted data is obtained by encrypting the data by using an old key corresponding to an old key version number when the user equipment determines that the latest key version number does not exist in the key set.
In this embodiment, the apparatus may further include an authentication module, configured to establish a secure transmission channel with the user equipment after the user equipment determines that the trusted computing node is authenticated, and send a latest key corresponding to the latest key version number to the user equipment through the secure transmission channel, so that the user equipment updates the latest key version number and the latest key into the key set; wherein the user device initiates trusted authentication of the trusted computing node upon determining that the latest key version number is not present in the set of keys.
In this embodiment, the processing module 13 is further configured to: and performing data processing on the second encrypted data.
Optionally, the apparatus may further include: the key acquisition module is used for acquiring a first key version number set in the trusted computing cluster; determining a third key version number set which needs to be acquired by the trusted computing node according to a second key version number set and the first key version number set stored in the trusted computing node; and acquiring the key corresponding to each key version number in the third key version number set from the corresponding trusted computing node according to the trusted computing node identifier corresponding to each key version number in the third key version number set.
Optionally, in the process of determining the third key version number set, the key obtaining module may be specifically configured to: filtering out key version numbers which do not exist in the first key version number set in the second key version number set to obtain a fourth key version number set; the first key version number set stores the currently valid key version number in the trusted computing cluster; and filtering out each key version number in the fourth key version number set in the first key version number set to obtain the third key version number set.
Optionally, the key obtaining module may be further configured to: and publishing the corresponding relation between the trusted computing node and the fourth key version number set in the trusted computing cluster.
Optionally, the apparatus further comprises: the key generation module is used for acquiring key generation permission if a new key version number is generated in the trusted computing cluster and the new key version number is not associated with a corresponding trusted computing node within a set time length; updating the password version number and generating a key corresponding to the updated key version number; and publishing the corresponding relation between the trusted computing node and the updated key version number in the trusted computing cluster.
The apparatus shown in fig. 8 may perform the steps performed by the trusted computing node in the foregoing embodiments, and reference may be made to relevant descriptions of the foregoing embodiments for parts that are not described in detail in this embodiment, which are not described herein again.
In one possible design, the structure of the data processing apparatus shown in fig. 8 may be implemented as an electronic device, which may be a PC, a server, or the like. The electronic device serves as a trusted computing node in a trusted computing cluster. Wherein each trusted computing node in the trusted computing cluster corresponds to the same data processing service running in its respective trusted execution environment, and the trusted computing nodes share the same key. As shown in fig. 9, the electronic device may include: a first processor 21, a first memory 22. The first memory 22 stores thereon a data processing service running in a trusted execution environment, which when executed by the first processor 21, makes the first processor 21 perform the steps as performed by the trusted computing node in the previous embodiments.
In practice, the electronic device may also include a first communication interface 23 for communicating with other devices.
In addition, the present invention provides a non-transitory machine-readable storage medium, which stores executable codes thereon, and when the executable codes are executed by a processor of an electronic device, the processor is enabled to execute the data processing method executed by the trusted computing node in the foregoing embodiments.
Fig. 10 is a schematic structural diagram of another data processing apparatus according to an embodiment of the present invention, where the apparatus is applied to a user equipment, and as shown in fig. 10, the apparatus includes: a receiving module 31, an encryption module 32, and a transmitting module 33.
The receiving module 31 is configured to receive a data acquisition request sent by any trusted computing node in a trusted computing cluster, where the data acquisition request includes a latest key version number corresponding to the trusted computing node.
An encrypting module 32, configured to encrypt, if the latest key version number exists in a key set stored in the user equipment, data corresponding to the data obtaining request by using a latest key corresponding to the latest key version number to obtain first encrypted data, where each key version number and a corresponding key that have passed trusted authentication are stored in the key set.
A sending module 33, configured to send the first encrypted data to the trusted computing node for processing.
Wherein each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and the trusted computing nodes share a same key.
Optionally, the encryption module 32 is further configured to: if the latest key version number does not exist in the key set stored in the user equipment, encrypting the data by using an old key corresponding to the old key version number to obtain second encrypted data, and sending the second encrypted data to the trusted computing node for processing through the sending module 33.
Optionally, at this time, the apparatus may further include: and the authentication module is used for establishing a secure transmission channel between the trusted computing node and the trusted computing node if the trusted computing node is determined to pass the trusted authentication, acquiring a latest key corresponding to the latest key version number from the trusted computing node through the secure transmission channel, and updating the latest key version number and the latest key into the key set.
The apparatus shown in fig. 10 may perform the steps performed by the user equipment in the foregoing embodiments, and for parts not described in detail in this embodiment, reference may be made to the related description of the foregoing embodiments, and details are not repeated here.
In one possible design, the structure of the data processing apparatus shown in fig. 10 may be implemented as an electronic device, which may be a PC, a notebook computer, a mobile phone, a server, or the like. As shown in fig. 11, the electronic device may include: a second processor 41, a second memory 42. Wherein said second memory 42 has stored thereon executable code, which when executed by the second processor 41, makes the second processor 41 operable to perform the steps as performed by the user equipment in the previous embodiments.
In practice, the electronic device may also include a second communication interface 43 for communicating with other devices.
In addition, the present invention provides a non-transitory machine-readable storage medium, on which executable code is stored, and when the executable code is executed by a processor of an electronic device, the processor is enabled to execute the data processing method performed by the user equipment in the foregoing embodiments.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by adding a necessary general hardware platform, and of course, can also be implemented by a combination of hardware and software. With this understanding in mind, the above-described aspects and portions of the present technology which contribute substantially or in part to the prior art may be embodied in the form of a computer program product, which may be embodied on one or more computer-usable storage media having computer-usable program code embodied therein, including without limitation disk storage, CD-ROM, optical storage, and the like.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (13)

1. A data processing method applied to trusted computing nodes in a trusted computing cluster, each trusted computing node in the trusted computing cluster corresponding to a same data processing service running in a respective trusted execution environment, the trusted computing nodes sharing a same key, the method comprising, for any one of the trusted computing nodes:
sending a data acquisition request to user equipment, wherein the data acquisition request comprises a latest key version number corresponding to the trusted computing node;
receiving first encrypted data sent by the user equipment, wherein the first encrypted data is obtained by encrypting data corresponding to the data acquisition request by using a latest key corresponding to the latest key version number when the user equipment determines that the latest key version number exists in a key set stored in the user equipment, each key version number which passes trusted authentication and a corresponding key are stored in the key set, and any trusted computing node which sends the data acquisition request with the latest key version number contained in the key set is a node which passes trusted authentication;
and performing data processing on the first encrypted data.
2. The method of claim 1, further comprising:
receiving second encrypted data sent by the user equipment, and establishing a secure transmission channel between the user equipment and the trusted computing node after the user equipment determines that the trusted computing node passes authentication; the second encrypted data is obtained by encrypting the data by using an old key corresponding to an old key version number when the user equipment determines that the latest key version number does not exist in the key set, and the user equipment initiates trusted authentication on the trusted computing node when determining that the latest key version number does not exist in the key set;
sending the latest key corresponding to the latest key version number to the user equipment through the secure transmission channel so that the user equipment updates the latest key version number and the latest key into the key set;
and performing data processing on the second encrypted data.
3. The method of claim 1, further comprising:
acquiring a first key version number set in the trusted computing cluster;
determining a third key version number set required to be acquired by the trusted computing node according to a second key version number set and the first key version number set stored in the trusted computing node;
and acquiring the key corresponding to each key version number in the third key version number set from the corresponding trusted computing node according to the trusted computing node identifier corresponding to each key version number in the third key version number set.
4. The method of claim 3, wherein the step of determining the third set of key version numbers comprises:
filtering out key version numbers which do not exist in the first key version number set in the second key version number set to obtain a fourth key version number set; wherein the first set of key version numbers stores a currently valid key version number in the trusted computing cluster;
and filtering out each key version number in the fourth key version number set in the first key version number set to obtain the third key version number set.
5. The method of claim 4, further comprising:
and publishing the corresponding relation between the trusted computing node and the fourth key version number set in the trusted computing cluster.
6. The method according to any one of claims 3 to 5, further comprising:
if a new key version number is generated in the trusted computing cluster and the new key version number is not associated with a corresponding trusted computing node within a set time length, acquiring a key generation authority;
updating the password version number and generating a key corresponding to the updated key version number;
and publishing the corresponding relation between the trusted computing node and the updated key version number in the trusted computing cluster.
7. A data processing apparatus for use with each trusted computing node in a trusted computing cluster, each trusted computing node in the trusted computing cluster corresponding to a same data processing service running in a respective trusted execution environment, the trusted computing nodes sharing a same key, the apparatus comprising, for any trusted computing node therein:
a sending module, configured to send a data acquisition request to user equipment, where the data acquisition request includes a latest key version number of the trusted computing node;
a receiving module, configured to receive first encrypted data sent by the user equipment, where the first encrypted data is obtained by encrypting, by the user equipment, data corresponding to the data acquisition request with a latest key corresponding to the latest key version number when it is determined that the latest key version number exists in a key set stored in the user equipment, where each authenticated key version number and a corresponding key are stored in the key set, and the any trusted computing node that sends the data acquisition request with the latest key version number included in the key set is a node that passes trusted authentication;
and the processing module is used for carrying out data processing on the first encrypted data.
8. An electronic device that acts as a trusted computing node in a trusted computing cluster, the electronic device comprising: a memory, a processor; wherein the memory has stored thereon a data processing service running in a trusted execution environment, which when executed by the processor causes the processor to perform the data processing method of any of claims 1 to 6;
wherein each trusted computing node in the trusted computing cluster corresponds to the same data processing service running in its respective trusted execution environment, and the trusted computing nodes share the same key.
9. A data processing method is applied to user equipment, and the method comprises the following steps:
receiving a data acquisition request sent by any trusted computing node in a trusted computing cluster, wherein the data acquisition request comprises a latest key version number corresponding to the trusted computing node;
if the latest key version number exists in a key set stored in the user equipment, encrypting data corresponding to the data acquisition request by using a latest key corresponding to the latest key version number to obtain first encrypted data, wherein each key version number passing trusted authentication and a corresponding key are stored in the key set, and the trusted computing node sending the data acquisition request with the latest key version number contained in the key set is a node passing trusted authentication;
sending the first encrypted data to the trusted computing node for processing;
wherein each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and the trusted computing nodes share a same key.
10. The method of claim 9, further comprising:
if the latest key version number does not exist in the key set stored in the user equipment, encrypting the data by adopting an old key corresponding to the old key version number to obtain second encrypted data;
sending the second encrypted data to the trusted computing node for processing;
if the trusted computing node is determined to pass the trusted authentication, establishing a secure transmission channel with the trusted computing node;
and obtaining a latest key corresponding to the latest key version number from the trusted computing node through the secure transmission channel, and updating the latest key version number and the latest key into the key set.
11. A data processing apparatus, applied to a user equipment, the apparatus comprising:
the system comprises a receiving module, a sending module and a receiving module, wherein the receiving module is used for receiving a data acquisition request sent by any trusted computing node in a trusted computing cluster, and the data acquisition request comprises a latest key version number corresponding to the trusted computing node;
an encryption module, configured to encrypt data corresponding to the data acquisition request by using a latest key corresponding to the latest key version number to obtain first encrypted data if the latest key version number exists in a key set stored in the user equipment, where each key version number that has passed trusted authentication and a corresponding key are stored in the key set, and the trusted computing node that sends the data acquisition request with the latest key version number included in the key set is a node that passes trusted authentication;
the sending module is used for sending the first encrypted data to the trusted computing node for processing;
wherein each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and the trusted computing nodes share a same key.
12. An electronic device, comprising: a memory, a processor; wherein the memory has stored thereon executable code which, when executed by the processor, causes the processor to carry out the data processing method of claim 9 or 10.
13. A data processing system, comprising:
the user equipment is a trusted computing cluster consisting of a plurality of trusted computing nodes;
wherein each trusted computing node in the trusted computing cluster corresponds to a same data processing service running in a respective trusted execution environment, and the trusted computing nodes share a same key;
the trusted computing node is configured to send a data acquisition request to the user equipment, where the data acquisition request includes a latest key version number corresponding to the trusted computing node; receiving first encrypted data sent by the user equipment, and performing data processing on the first encrypted data;
the user equipment is configured to encrypt data corresponding to the data acquisition request by using a latest key corresponding to the latest key version number to obtain the first encrypted data when it is determined that the latest key version number exists in a key set stored in the user equipment, where each key version number that has passed trusted authentication and a corresponding key are stored in the key set, and the trusted computing node that sends the data acquisition request with the latest key version number included in the key set is a node that has passed trusted authentication.
CN201910244020.6A 2019-03-28 2019-03-28 Data processing method, device, equipment and system Active CN111756675B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910244020.6A CN111756675B (en) 2019-03-28 2019-03-28 Data processing method, device, equipment and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910244020.6A CN111756675B (en) 2019-03-28 2019-03-28 Data processing method, device, equipment and system

Publications (2)

Publication Number Publication Date
CN111756675A CN111756675A (en) 2020-10-09
CN111756675B true CN111756675B (en) 2023-04-07

Family

ID=72672265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910244020.6A Active CN111756675B (en) 2019-03-28 2019-03-28 Data processing method, device, equipment and system

Country Status (1)

Country Link
CN (1) CN111756675B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107924445A (en) * 2015-09-25 2018-04-17 英特尔公司 Retain the mutual accreditation of the calculating of privacy
CN107959566A (en) * 2016-10-14 2018-04-24 阿里巴巴集团控股有限公司 Quantal data key agreement system and quantal data cryptographic key negotiation method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479340B1 (en) * 2015-03-30 2016-10-25 Amazon Technologies, Inc. Controlling use of encryption keys
CN107959656B (en) * 2016-10-14 2021-08-31 阿里巴巴集团控股有限公司 Data security guarantee system, method and device
CN107959567B (en) * 2016-10-14 2021-07-27 阿里巴巴集团控股有限公司 Data storage method, data acquisition method, device and system
CN106973310A (en) * 2017-04-13 2017-07-21 中国联合网络通信集团有限公司 The player method of Streaming Media, EPG server and CDN server in a kind of IPTV system
CN109474423B (en) * 2018-12-10 2022-10-21 平安科技(深圳)有限公司 Data encryption and decryption method, server and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107924445A (en) * 2015-09-25 2018-04-17 英特尔公司 Retain the mutual accreditation of the calculating of privacy
CN107959566A (en) * 2016-10-14 2018-04-24 阿里巴巴集团控股有限公司 Quantal data key agreement system and quantal data cryptographic key negotiation method

Also Published As

Publication number Publication date
CN111756675A (en) 2020-10-09

Similar Documents

Publication Publication Date Title
CN112788033B (en) Authentication method and authentication system
CN108241517B (en) Software upgrading method, client and electronic equipment
US20200287726A1 (en) Remote device control
CN110771091B (en) System and method for security of network connected devices
CN112422532B (en) Service communication method, system and device and electronic equipment
US20180082076A1 (en) Cloud Storage Encryption
CN111737366B (en) Private data processing method, device, equipment and storage medium of block chain
JP4993733B2 (en) Cryptographic client device, cryptographic package distribution system, cryptographic container distribution system, and cryptographic management server device
CN111064569B (en) Cluster key obtaining method and device of trusted computing cluster
JP2018518738A (en) Client device authentication based on entropy from server or other device
CN107920081B (en) Login authentication method and device
CN111538977B (en) Cloud API key management method, cloud platform access method, cloud API key management device, cloud platform access device and server
CN115113970A (en) Data processing method based on container engine and related equipment
CN110362984B (en) Method and device for operating service system by multiple devices
JP2016212293A (en) Information processing apparatus for storing data in cloud environment, terminal device, and storage method
Jamal et al. Reliable access control for mobile cloud computing (MCC) with cache-aware scheduling
CN110602132A (en) Data encryption and decryption processing method
Zhang et al. TEO: Ephemeral ownership for iot devices to provide granular data control
US11425122B2 (en) System and method for providing a configuration file to client devices
CN111756675B (en) Data processing method, device, equipment and system
CN117121435A (en) Connection elastic multi-factor authentication
Santhisri et al. Comparative study on various security algorithms in cloud computing
CN114329596A (en) Firmware updating method, device and system for Internet of things equipment
CN115115384A (en) Processing method and device of excitation event, electronic equipment and storage medium
KR20020083551A (en) Development and Operation Method of Multiagent Based Multipass User Authentication Systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant