CN111181720A - Service processing method and device based on trusted execution environment - Google Patents

Service processing method and device based on trusted execution environment Download PDF

Info

Publication number
CN111181720A
CN111181720A CN201911413811.3A CN201911413811A CN111181720A CN 111181720 A CN111181720 A CN 111181720A CN 201911413811 A CN201911413811 A CN 201911413811A CN 111181720 A CN111181720 A CN 111181720A
Authority
CN
China
Prior art keywords
key
execution environment
trusted execution
shared key
computing server
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.)
Granted
Application number
CN201911413811.3A
Other languages
Chinese (zh)
Other versions
CN111181720B (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201911413811.3A priority Critical patent/CN111181720B/en
Publication of CN111181720A publication Critical patent/CN111181720A/en
Application granted granted Critical
Publication of CN111181720B publication Critical patent/CN111181720B/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
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0825Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

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

One or more embodiments of the present specification provide a service processing method and apparatus based on a trusted execution environment, where the method includes: the secure computing server negotiates with the client through a trusted execution environment for key negotiation to obtain a shared key, encrypts the shared key into a corresponding shared key storage ciphertext and stores the shared key; the secure computing server side responds to a service request initiated by the client side, creates a trusted execution environment for service processing, and reads a service information ciphertext and a shared key storage ciphertext sent by the client side into the trusted execution environment for service processing; the secure computing server decrypts the shared key storage ciphertext in a trusted execution environment for business processing to obtain a shared key, decrypts the business information ciphertext through the shared key to obtain business information, and processes the business information in the trusted execution environment. The technical scheme of the specification can be applied to business processing processes in various scenes, such as artificial intelligence scenes, block chain scenes and the like.

Description

Service processing method and device based on trusted execution environment
Technical Field
One or more embodiments of the present disclosure relate to the field of security technologies, and in particular, to a service processing method and apparatus based on a trusted execution environment.
Background
At present, the business processing process faces the problem that privacy and performance are difficult to be considered, and most of the existing solutions trade privacy for performance loss or pursue performance without considering privacy much. Common encryption technologies for solving privacy problems, such as Homomorphic encryption (Homomorphic encryption) and Zero-knowledge proof (Zero-knowledge proof), have high complexity, are not only poor in universality, but also can cause serious performance loss.
In terms of addressing privacy, a Trusted Execution Environment (TEE) is another approach. The TEE can play a role of a black box in hardware, a code and data operating system layer executed in the TEE cannot be peeped, and the TEE can be operated only through an interface defined in advance in the code. In the aspect of efficiency, due to the black box property of the TEE, plaintext data is operated in the TEE instead of complex cryptography operation in homomorphic encryption, and the efficiency of the calculation process is not lost, so that the safety requirement and the privacy requirement in the service processing process can be met to a great extent on the premise of low performance loss by combining with the TEE. The industry is concerned with TEE solutions, and almost all mainstream chip and Software consortiums have their own TEE solutions, such as TPM (Trusted Platform Module) in Software, and Intel SGX (Software Guard Extensions) in hardware, ARMTrustzone (Trusted zone), and AMD PSP (Platform Security Processor).
Disclosure of Invention
In view of this, one or more embodiments of the present disclosure provide a method and an apparatus for processing a service based on a trusted execution environment.
To achieve the above object, one or more embodiments of the present disclosure provide the following technical solutions:
according to a first aspect of one or more embodiments of the present specification, a method for processing a service based on a trusted execution environment is provided, including:
the secure computing server negotiates with the client through a trusted execution environment for key negotiation to obtain a shared key, encrypts the shared key into a corresponding shared key storage ciphertext, and stores the shared key storage ciphertext in a storage space outside the trusted execution environment for key negotiation;
the secure computing server side responds to a service request initiated by the client side, creates a trusted execution environment for service processing, and reads a service information ciphertext and the shared key storage ciphertext sent by the client side into the trusted execution environment for service processing;
and the secure computing server decrypts the shared key storage ciphertext in the trusted execution environment for business processing to obtain the shared key, decrypts the business information ciphertext through the shared key to obtain business information, and processes the business information in the trusted execution environment for business processing.
According to a second aspect of one or more embodiments of the present specification, there is provided a service processing apparatus based on a trusted execution environment, including:
the key negotiation unit enables the secure computing server to negotiate with the client through a trusted execution environment for key negotiation to obtain a shared key;
a key storage unit, configured to enable the secure computing server to encrypt the shared key into a corresponding shared key storage ciphertext and store the shared key storage ciphertext in a storage space outside the trusted execution environment for key agreement;
the environment creating unit enables the secure computing server to respond to the service request initiated by the client and create a trusted execution environment for service processing;
the data reading unit enables the secure computing server to read the business information ciphertext and the shared key storage ciphertext sent by the client into the trusted execution environment for business processing;
and the service processing unit enables the secure computing server to decrypt the shared key storage ciphertext in the trusted execution environment for service processing to obtain the shared key, decrypt the service information ciphertext through the shared key to obtain service information, and process the service information in the trusted execution environment for service processing.
According to a third aspect of one or more embodiments of the present specification, there is provided an electronic apparatus including:
a processor;
a memory for storing processor-executable instructions;
wherein the processor implements the method of the first aspect by executing the executable instructions.
According to a fourth aspect of one or more embodiments of the present description, a computer-readable storage medium is presented, having stored thereon computer instructions which, when executed by a processor, implement the steps of the method according to the first aspect.
Drawings
Fig. 1 is a schematic architecture diagram of a service processing system according to an exemplary embodiment.
Fig. 2 is a flowchart of a method for processing a service based on a trusted execution environment according to an exemplary embodiment.
Fig. 3 is a schematic diagram of a service processing scenario based on the SGX technology according to an exemplary embodiment.
Fig. 4 is a schematic structural diagram of an apparatus according to an exemplary embodiment.
Fig. 5 is a block diagram of a service processing apparatus based on a trusted execution environment according to an exemplary embodiment.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with one or more embodiments of the present specification. Rather, they are merely examples of apparatus and methods consistent with certain aspects of one or more embodiments of the specification, as detailed in the claims which follow.
It should be noted that: in other embodiments, the steps of the corresponding methods are not necessarily performed in the order shown and described herein. In some other embodiments, the method may include more or fewer steps than those described herein. Moreover, a single step described in this specification may be broken down into multiple steps for description in other embodiments; multiple steps described in this specification may be combined into a single step in other embodiments.
Fig. 1 is a schematic architecture diagram of a service processing system according to an exemplary embodiment. As shown in fig. 1, the system may include a secure computing server 11, a network 12, a client 13, and the like. The client 13 provides the service information to the secure computation server 11 to perform corresponding service processing by the secure computation server 11, where the service information may include sample data for training an artificial intelligence model, historical transaction data collected by a transaction platform, blockchain transactions, and the like, and this specification does not limit this.
In the technical solution of the present specification, a TEE technology is adopted at the secure computing server 11, and the service information from the client 13 participates in service processing in a plaintext form in the TEE, so that compared with a processing means based on homomorphic encryption and zero knowledge proof adopted in the related art, the computing efficiency can be greatly improved on the basis of ensuring data security.
The following describes the service processing scheme of this specification with reference to the flow shown in fig. 2:
fig. 2 is a flowchart of a method for processing a service based on a trusted execution environment according to an exemplary embodiment. As shown in fig. 2, the method may include the steps of:
step 202, the secure computing server negotiates with the client through the trusted execution environment for key agreement to obtain a shared key, encrypts the shared key into a corresponding shared key storage ciphertext, and stores the shared key storage ciphertext in a storage space outside the trusted execution environment for key agreement.
The security computing server side enables the TEE used for key agreement to negotiate a shared key with the client side based on the TEE by creating the TEE. The TEE is a trusted execution environment that is based on a secure extension of the CPU hardware and is completely isolated from the outside. TEE was originally proposed by Global Platform to address the secure isolation of resources on mobile devices, providing a trusted and secure execution environment for applications parallel to the operating system. For example, TEE technology such as intel's software protection extensions (SGX) isolates code execution, remote attestation, secure configuration, secure storage of data, and trusted paths for executing code.
The Intel SGX (hereinafter referred to as SGX) technology is taken as an example. The secure computing server is equivalent to an SGX server, and the secure computing server may create enclave (enclosure or enclave) based on the SGX technology to serve as a TEE for key agreement. The secure computing server may allocate a part of an EPC (enclosure Page Cache, Enclave Page Cache, or Enclave Page Cache) in the memory by using a processor instruction newly added to the CPU, so as to reside the above enclosure. The CPU can simultaneously create one or more enclaves, and codes run by different enclaves can be the same or different, depending on the purposes of the corresponding enclaves. For example, in this specification, a code for key agreement may be encapsulated in the created enclave, so as to obtain the enclave for key agreement; for another example, in this specification, a code for service processing may be encapsulated in the created enclave, so as to obtain the enclave for service processing in the following. The Memory area corresponding to the EPC is encrypted by a Memory Encryption Engine MEE (Memory Encryption Engine) inside the CPU, the content (code and data in the enclave) in the Memory area can be decrypted only in the CPU core, and a key for Encryption and decryption is generated and stored in the CPU only when the EPC is started. It can be seen that the security boundary of enclave only includes itself and CPU, and no matter privileged or non-privileged software can not access enclave, even if an operating system administrator and VMM (virtual machine monitor, or called Hypervisor) can not affect code and data in enclave, so that the security is very high, and therefore, based on negotiation of the shared key between the TEE and the client, it can be ensured that the shared key is not leaked during and after negotiation, thereby ensuring sufficient security for the subsequent encryption transmission process of the service information.
After the security computing server creates the TEE for key agreement, a third party on another platform can remotely authenticate the TEE and generate a trusted authentication report for indicating that the TEE is trusted. In the remote authentication process, the secure computing server may generate an authentication request for the TEE for key agreement, where the authentication request may be sent to the third party, for example, the third party may be a remote authentication server, and the secure computing server may receive the trusted authentication report returned by the authentication server, where the trusted authentication report is returned by the authentication server after the TEE is authenticated according to the authentication request. The credible authentication report comprises an authentication result of the authentication server to the TEE based on the authentication request so as to indicate whether the TEE is credible or not; accordingly, the secure computing server may send the trusted authentication report obtained by remote authentication to the client, so that the client may verify whether the TEE is trusted.
Still take the SGX technique as an example. Assuming that the TEE for key agreement is Enclave a, the remote authentication process also involves another special Enclave on the secure computing server, namely, Quoting Enclave (QE), which is an Architectural Enclave (architecture Enclave) provided and signed by intel. The enclave A firstly needs to generate a REPORT structure for local authentication, and the QE verifies whether the enclave A is on the same platform with the enclave A or not based on the REPORT structure, and then the QE packages the REPORT structure into a structure body QUOTE and uses an EPID (enhanced reliability identification) key for signature. The EPID key not only represents a platform of the secure computing server, but also represents the reliability of the bottom layer hardware of the secure computing server, and can bind information such as the version of processor firmware and the like, and only QE can access the EPID key for signing the structure QUOTE. In the SGX technology, the authentication server may be an IAS (Intel authentication Service) server provided by Intel corporation, and the authentication request sent by the secure computing server to the IAS server includes the structure body qualte and its signature, so that the IAS server may verify whether the enclave a is trusted according to the structure body qual and return a corresponding trusted authentication report to the secure computing server.
In order to avoid tampering with the trusted authentication report received by the client, the authentication server may sign the trusted authentication report. Correspondingly, the client side can carry out signature verification on the trusted authentication report, and after the verification is passed, the client side determines that the trusted authentication report is not tampered, and can trust the authentication result contained in the trusted authentication report, so that the client side can determine that the TEE is trusted according to the authentication result under the condition that the authentication server determines that the TEE is trusted; otherwise, the client may not trust the TEE, such as by verifying the signature that the trusted authentication report was tampered with. The authentication server signs the credible authentication report through the own private key of the authenticator, and the client side verifies the signature through the corresponding public key of the authenticator. The client can obtain the public key of the authenticator through any channel; or, the secure computing service side may send a trusted authentication report to the client side, and also provide a certificate chain corresponding to the authentication server to the client side, where a bottom layer of the certificate chain is a digital certificate corresponding to an end-user (end-user) that is the authentication server, and an upper layer of the certificate chain includes a digital certificate corresponding to one or more levels of issuers (lssuers), and the client side may hold a root key for verifying the certificate chain, and perform layer-by-layer verification on the certificate chain according to the root key until an authenticator public key included in the digital certificate at the bottom layer is obtained, and perform signature verification based on the authenticator public key. The secure computing server may send the trusted authentication report and the certificate chain to the client together, or separately.
According to the above trusted authentication report, if the client determines that the TEE used for key agreement on the secure computing server is trusted, the client may encrypt the shared key that the client desires to use by using the server public key, and then send the obtained shared key transmission ciphertext to the secure computing server. The shared key is provided by the client, and the client can generate the shared key in advance or temporarily, and the shared key is used for carrying out encrypted transmission on the business information between the client and the secure computing server. The server public key also has a corresponding server private key, and the server public key and the server private key are a server public and private key pair based on an asymmetric algorithm generated in the TEE for key agreement. Therefore, the secure computing server can read the shared key transmission ciphertext into the TEE for key agreement, and decrypt the shared key transmission ciphertext through the server private key, so as to obtain the plaintext shared key. The Server public-private Key pair may be generated by the security computing Server itself within the TEE for Key agreement, or may be imported into the TEE after being generated by an external object, for example, the external object may be a Key Management Server (KMS), and the Key Management Server may encrypt and transmit a Server private Key (or a Server public-private Key pair) to the security computing Server after determining that the TEE passes remote authentication, and import the Server private Key (or the Server public-private Key pair) into the TEE. The key for encrypted transmission of the server-side private key may be determined by negotiation with the KMS in advance for the secure computing server side, or may be determined by negotiation based on an algorithm such as ECDH (explicit users Diffie-Hellman) or other key negotiation algorithm in the above-mentioned remote authentication process. For example, the secure computing server may generate a negotiation private key X, and include a negotiation public key X generated based on the negotiation private key X in the authentication request sent to the KMS, so that the KMS obtains the negotiation public key X; meanwhile, the KMS may generate a negotiation private key Y, and a trusted authentication report sent to the secure computing server includes a negotiation public key Y generated based on the negotiation private key Y, so that the secure computing server may generate a key seed z based on the negotiation private key X and the negotiation public key Y, the KMS may generate the same key seed z based on the negotiation private key Y and the negotiation public key X, and finally, the secure computing server and the KMS may derive the same key through the key seed z, so as to perform encryption transmission on the server private key.
The secure computing server may negotiate the shared key with the client in other manners. For example, the client may initiate a remote authentication request to the secure computing server, which is equivalent to initiating a challenge to a TEE created by the secure computing server for key agreement, thereby triggering a remote authentication procedure for the TEE. In the process, the client and the secure computing server may complete a negotiation process using an ECDH or other key negotiation algorithm similar to that described above. For example, the client may maintain the first private information, and add the first public information generated according to the first private information to the remote authentication request, so that the secure computing server may extract the first public information from the remote authentication request after receiving the remote authentication request. Accordingly, the secure computing server may maintain the second private information, generate the second public information according to the second private information, and include the second public information in the authentication request generated for the TEE. As described above, the secure computing server may send the authentication request to the authentication server, and receive a trusted authentication report returned by the authentication server, where the trusted authentication report includes information of the authentication request, that is, the trusted authentication report includes the second public information, so that when the secure computing server sends the trusted authentication advertisement to the client for verification, the client may extract the second public information from the trusted authentication report. Or, the secure computing server may send the authentication request to the client, and the client may extract the second public information from the authentication request on one hand, and may forward the authentication request to the authentication server on the other hand to complete remote authentication. Then, the client may generate a key seed according to the first private information and the second public information, and the secure computing server may also generate the same key seed according to the second private information and the first public information, and both of them may derive the same key, i.e., the above-mentioned shared key, based on the key seed.
The secure computing server side can encrypt the shared secret key through the secure secret key maintained by the secure computing server side, so as to obtain the shared secret key storage ciphertext. The security key is maintained by the security computing server, only the security computing server can obtain the security key, the security of the shared key can be ensured, the shared key is prevented from being leaked in a plaintext form, the leaked shared key storage ciphertext cannot be cracked, and the shared key storage ciphertext can be decrypted only by obtaining the security key. Taking the SGX technology as an example, the secure Key may be a Seal Key derived by the secure computing server based on a RootSeal Key (RSK). If the CPU of the secure computing server side supports the SGX technology, the CPU comprises an e-fuses storage circuit for storing the RSK keys burned in by Intel in the production process, and the Intel declares that traces of the RSK keys are deleted after the burning operation is completed, so that the RSK keys are only mastered by the CPU of the secure computing server side, and the security of the derived Seal Key and the reliability of the shared Key storage ciphertext are ensured. Although in the SGX technique described above the security Key used is the Seal Key, which is a derivative of the secure root Key RSK, in other embodiments it is not excluded that the security Key may be the secure root Key itself.
The secure computing server may encrypt the shared secret key in other manners. For example, the secure computing server may encrypt the shared key through the server public key as described above to obtain a shared key storage ciphertext. If the shared secret key is generated by the client, the server public key is used for encrypting the shared secret key transmission ciphertext and the shared secret key transmission ciphertext is sent to the secure computing server, the shared secret key storage ciphertext is the same as the shared secret key transmission ciphertext, and the secure computing server can be used without additionally executing encryption operation; or, if the shared key is derived by the secure computing server through, for example, an ECDH algorithm, the secure computing server needs to encrypt the shared key based on the server public key to obtain the shared key storage ciphertext. Meanwhile, the secure computing server may encrypt the server private key by using the secure key as described above, and store the obtained server private key ciphertext into a storage space other than the TEE used for key agreement, such as a hard disk, and the server private key is decoupled from the TEE used for key agreement, so that even if the TEE is destroyed, the secure computing server may still read the stored server private key ciphertext and the shared key storage ciphertext, decrypt the server private key ciphertext based on the secure key to obtain the server private key, and decrypt the shared key storage ciphertext based on the server private key to obtain the shared key.
And 204, the secure computing server creates a trusted execution environment for business processing in response to the business request initiated by the client, and reads the business information ciphertext and the shared key storage ciphertext sent by the client into the trusted execution environment for business processing.
After the shared key is obtained, the secure computation server encrypts the shared key into a corresponding shared key storage ciphertext for storage, so that the negotiation process and the service processing process of the shared key can be decoupled, the shared key is unbound with the TEE used for negotiating to obtain the shared key, the shared key storage ciphertext can still be maintained by the secure computation server even if the TEE used for key negotiation is destroyed, and encrypted transmission of service information is realized between the subsequently created TEE used for service processing and the client. For example, the secure computing server may create a TEE for service processing, and after receiving a service information ciphertext encrypted by the client using the shared key, the secure computing server may read the service information ciphertext and a stored shared key storage ciphertext into the TEE, decrypt the shared key storage ciphertext to obtain a shared key, decrypt the service information ciphertext based on the shared key to obtain service information, and execute corresponding service processing based on the service information. Of course, for the TEE for key agreement, if the TEE includes a code for service processing at the same time, the TEE may also read the service information ciphertext sent by the client and the stored shared key storage ciphertext into the TEE, decrypt the shared key storage ciphertext to obtain the shared key, decrypt the service information ciphertext based on the shared key to obtain the service information, and execute corresponding service processing based on the service information. In other words, the TEE for traffic handling may be different from the TEE for key agreement, or the TEE for traffic handling may contain the TEE for key agreement described above, or the TEE for traffic handling may be the same as the TEE for key agreement,
the client may have a plurality of services, and these services may have service processing requirements simultaneously or respectively, so the client may correspondingly initiate a plurality of service requests to the secure computing server, and the secure computing server may correspondingly create a plurality of TEEs for service processing, where these TEEs respectively include service processing codes corresponding to the above services to implement corresponding service processing logics. The service processing logic adopted by different services may be the same or different, and then the service processing codes included in the corresponding TEEs may be the same or different. Then, after receiving the service information ciphertext corresponding to each service request, the secure computation server may read each service information ciphertext into a corresponding TEE for service processing, and read the shared key storage ciphertext stored in the foregoing into these TEEs, so that each TEE may decrypt the shared key storage ciphertext to obtain a shared key, and further decrypt the read-in service information ciphertext through the shared key, and perform corresponding service processing on the service information obtained by decryption in each TEE. It can be seen that the shared key in this specification may not be bound to a service, that is, different services of the client may use the same shared key to perform encrypted transmission of service information, and it is not necessary to separately create TEEs corresponding to respective services on the client on the secure computing server and then separately negotiate a shared key corresponding to each service, thereby avoiding additional resource consumption caused by multiple negotiations, and contributing to improving service processing efficiency.
Step 206, the secure computing server decrypts the shared key storage ciphertext in the trusted execution environment for service processing to obtain the shared key, decrypts the service information ciphertext through the shared key to obtain service information, and processes the service information in the trusted execution environment for service processing.
As previously mentioned, a TEE is a trusted execution environment that is based on a secure extension of the CPU hardware and is completely isolated from the outside. Similar to the aforementioned TEE for key agreement, the TEE for traffic handling also has extremely high security. Still taking the SGX technology as an example, the TEE used for service processing is also an enclave created by the secure computing service end based on the SGX technology, and the enclave includes a code used for service processing, so that the enclave can be used for performing service processing. After the business information ciphertext and the shared key storage ciphertext are read into the enclave, even if the shared key storage ciphertext is decrypted into the corresponding shared key and the business information ciphertext is decrypted into the corresponding business information, as long as the business information is in the enclave, only the CPU can be ensured to read the shared key and the business information in the enclave, and the access of various privileged or non-privileged software is eliminated. Meanwhile, as the CPU performs plaintext service processing on the service information obtained by decrypting the enclave, compared with ciphertext service processing based on a homomorphic encryption technology, the method has extremely high operation efficiency, and thus data security and calculation efficiency are both considered.
The TEE for business processing may be any TEE created on a secure computing server and used for providing business processing services to the client. Alternatively, to reduce the security risk of sharing the key, the TEE for traffic processing described above may be limited to: any TEE signed by the same signing key as the aforementioned TEE for key agreement; taking the SGX technique as an example, the MRSIGNER of each TEE contains a hash of the public key corresponding to the signer, and it is possible to determine whether the corresponding TEE is signed by the same signing key by comparing MRSIGNERs. In some scenarios, a TEE for traffic handling may be restricted to the same TEE for key agreement. Therefore, when a corresponding TEE is created for different services in the secure computing server, it needs to be ensured that the TEE contains both a code for key agreement and a code for service processing.
The security computing server may have multiple configuration modes, and the security computing server has a requirement for differentiation between the TEE for key agreement and the TEE for user service processing in different configuration modes. For example, when the secure computing server is in the first configuration mode, the TEE for traffic processing includes any TEE signed by the same signing key as the TEE for key agreement; and when the security computing service end is in a second configuration mode, the TEE used for service processing and the TEE used for key agreement are the same TEE. Then, for scenarios that tend to be efficient in traffic handling, the first configuration mode may be selected, and for scenarios that tend to be highly secure, the second configuration mode may be selected.
The client and the secure computing server may negotiate a new shared key and update the stored shared key (specifically, in the form of a shared key storage ciphertext). For example, the client may negotiate a shared key with the secure computing server periodically, and update the shared key stored by the secure computing server; alternatively, the update operation may be aperiodic, for example, the update operation may be triggered after the usage number reaches a preset number based on the usage number of the shared key.
The secure multiparty computing scheme of the present specification is described below by taking the SGX technique as an example. Fig. 3 is a schematic diagram of a service processing scenario based on the SGX technology according to an exemplary embodiment. As shown in fig. 3, assuming that there is an SGX client and the SGX server provides service processing service to the SGX client, the whole process can be roughly divided into two stages: a key negotiation stage and a service processing stage.
In the key agreement stage, an SGX client initiates a key agreement request to an SGX server, so that the SGX server creates an Untrust App process, and creates an enclave for key agreement through the Untrust App process. And the SGX server initiates remote authentication for the enclave.
First, the SGX server generates a quote structure for the enclave. A group of RSA public and private Key pairs can be generated in the enclave, the SGX server can embed a hash of an RSA public Key in the quote structure, and the RSA private Key is encrypted into an RSA private Key ciphertext by adopting a Seal Key and then is stored in an Untrust storage space outside the enclave. Then, the SGX server initiates remote authentication to the IAS server based on the quote structure body, and receives a remote authentication report returned by the IAS server after the verification is completed, wherein the remote authentication report comprises the quote structure body and verification result information, and the remote authentication report is signed by an Intel private key maintained by the ISA server.
And then, the SGX server side sends the remote authentication report, the Intel certificate chain and the RSA public key to the SGX client side for verification. The SGX client verifies the Intel certificate chain according to a root key maintained by the SGX client, signs and verifies the remote authentication report by adopting the Intel public key contained in the certificate chain after the verification is passed, checks verification result information contained in the remote authentication report after the verification is passed, compares the hash of the RSA public key contained in the remote authentication report with the received RSA public key, and if the verification result information shows that enclave is credible and the RSA public key is correct, the SGX client can determine that the enclave created by the SGX server passes the remote authentication.
After the remote authentication is completed, the SGX client and the SGX server negotiate a key. For example, the SGX client may generate a shared key by itself, encrypt the shared key using an RSA public key to obtain a corresponding shared key ciphertext, and transmit the shared key ciphertext to the SGX server. Accordingly, the SGX server may store the shared key ciphertext and destroy the enclave. The SGX server may decrypt the shared key ciphertext through the RSA private key, thereby obtaining the plaintext shared key.
In the service processing stage, the SGX client initiates a service request to the SGX server, for example, multiple service requests may be sent concurrently, or a new service request is sent again when part of the service requests are not processed, and the SGX server may create a corresponding unorunst App process for each service request, and create a corresponding enclave for service processing by the process, so that multiple enclaves may exist simultaneously on the SGX server, for example, enclave1 for processing service 1 and enclave2 for processing service 2 in fig. 3, and the specification does not limit the number of the enclaves that exist simultaneously.
The SGX server reads the RSA private key ciphertext and the shared key ciphertext stored in the key agreement stage into enclave1 and enclave2, respectively. Taking enclave1 as an example, the CPU respectively decrypts the RSA private Key ciphertexts in enclave1 by reading the Seal Key to obtain corresponding RSA private keys, and then decrypts the shared Key ciphertexts based on the RSA private keys to obtain corresponding shared keys. Then, after receiving the service information ciphertext of the service 1 sent by the SGX client, the SGX server may read the service information ciphertext into enclave1, decrypt the service information ciphertext through the shared key to obtain plaintext service information, execute a code for implementing service processing in enclave1 to process the service information, and finally return the obtained processing result to the SGX client. After the service 1 is completed, the SGX service end may destroy the corresponding enclave1, and exit the Untrust App process associated with the enclave 1. Similarly, the shared key may be obtained by decryption in enclave2, the service information ciphertext of service 2 sent by the SGX client is decrypted, and service processing and processing result return are implemented in enclave2, which is not described herein again.
The key _ policy parameter of the Intel SGX SDK SEAL interface of the SGX server may use keyline _ MRSIGNER, and accordingly, various configuration modes and control policies are implemented. For example, in one configuration mode, enclave1, enclave2, etc. as described above, may allow the negotiated shared keys to be used by enclaves 1, enclaves 2, etc. as long as they are signed with the same signing key as the enclave previously used for key agreement. In another configuration mode, the negotiated key and the enclave for performing service processing must be the same enclave, and at this time, enclave1, enclave2 and the like cannot use the previously negotiated key, and need to renegotiate the respectively used key with the SGX client respectively for encrypted transmission of corresponding service information.
FIG. 4 is a schematic block diagram of an apparatus provided in an exemplary embodiment. Referring to fig. 4, at the hardware level, the apparatus includes a processor 402, an internal bus 404, a network interface 406, a memory 408, and a non-volatile memory 410, but may also include hardware required for other services. The processor 402 reads the corresponding computer program from the non-volatile memory 410 into the memory 408 and then runs the computer program, thereby forming a service processing device based on the trusted execution environment on a logic level. Of course, besides software implementation, the one or more embodiments in this specification do not exclude other implementations, such as logic devices or combinations of software and hardware, and so on, that is, the execution subject of the following processing flow is not limited to each logic unit, and may also be hardware or logic devices.
Referring to fig. 5, in a software implementation, the service processing apparatus based on a trusted execution environment may include:
a key agreement unit 501, which makes the secure computing server negotiate with the client through a trusted execution environment for key agreement to obtain a shared key;
a key storage unit 502, configured to enable the secure computing server to encrypt the shared key into a corresponding shared key storage ciphertext and store the shared key storage ciphertext in a storage space outside the trusted execution environment for key agreement;
an environment creating unit 503, configured to enable the secure computing server to create a trusted execution environment for service processing in response to a service request initiated by the client;
a data reading unit 504, configured to enable the secure computing server to read the service information ciphertext and the shared key storage ciphertext sent by the client into the trusted execution environment for service processing;
the service processing unit 505 is configured to enable the secure computing server to decrypt the shared key storage ciphertext in the trusted execution environment for service processing to obtain the shared key, decrypt the service information ciphertext through the shared key to obtain service information, and process the service information in the trusted execution environment for service processing.
Optionally, the key negotiation unit 501 is specifically configured to:
enabling the secure computing server to send a trusted authentication report obtained by remote authentication to the client for verification, and receiving a shared key transmission ciphertext returned by the client after the verification is confirmed, wherein the shared key transmission ciphertext is obtained by encrypting the shared key by a server public key generated by the trusted execution environment for key agreement;
and enabling the secure computing server to read the shared key transmission ciphertext into the trusted execution environment for key agreement, and decrypting the shared key transmission ciphertext through a server private key corresponding to the server public key to obtain the shared key.
Optionally, the key negotiation unit 501 is specifically configured to:
enabling the secure computing server to receive a remote authentication request initiated by the client, wherein the remote authentication request comprises first public information, and the first public information is generated by first private information maintained by the client;
enabling the secure computing server to generate an authentication request aiming at the trusted execution environment for key agreement, wherein the authentication request comprises second public information, and the second public information is generated by second private information maintained by the secure computing server;
enabling the secure computing server to receive a trusted authentication report returned by an authentication server, wherein the trusted authentication report is returned after the authentication server performs trusted authentication on the trusted execution environment for key agreement according to the authentication request, and the trusted authentication report comprises the authentication request;
enabling the secure computing server to send the trusted authentication report to the client for verification, so that the client generates a key seed according to the first private information and the second public information after verification is confirmed, wherein the key seed is used for deriving the shared key;
and enabling the secure computing server to generate the key seed according to the second private information and the first public information, and deriving the shared key according to the key seed.
Optionally, the environment creating unit 503 is specifically configured to: enabling the secure computing server to respectively create a plurality of trusted execution environments for business processing in response to a plurality of business requests respectively initiated by the client;
the data reading unit 504 is specifically configured to: and respectively reading the service information ciphertext corresponding to each service request into the corresponding trusted execution environment for service processing by the secure computing server, and respectively reading the shared key storage ciphertext into each trusted execution environment for service processing, so as to decrypt the read service information ciphertext by the shared key obtained by decryption.
Optionally, the key storage unit 502 is specifically configured to:
enabling the secure computing server to encrypt the shared secret key through a secure secret key maintained by the secure computing server to obtain a shared secret key storage ciphertext; alternatively, the first and second electrodes may be,
enabling the secure computing server to encrypt the shared secret key through a server public key generated by the trusted execution environment for secret key negotiation to obtain a shared secret key storage ciphertext; and after being encrypted by the security key, the server private key corresponding to the server public key is stored in a storage space outside the trusted execution environment for key agreement.
Optionally, the security key includes: a secure root key, or a derivative of the secure root key, that is unique and maintained only by the secure compute server.
Optionally, the trusted execution environment for business processing includes: any trusted execution environment that is signed by the same signing key as the trusted execution environment for key agreement.
Optionally, the trusted execution environment for service processing and the trusted execution environment for key agreement are the same trusted execution environment.
Alternatively to this, the first and second parts may,
when the secure computing server is in a first configuration mode, the trusted execution environment for business processing comprises any trusted execution environment signed by the same signing key as the trusted execution environment for key agreement;
when the secure computing server is in a second configuration mode, the trusted execution environment for service processing and the trusted execution environment for key agreement are the same trusted execution environment.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. A typical implementation device is a computer, which may take the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email messaging device, game console, tablet computer, wearable device, or a combination of any of these devices.
In a typical configuration, a computer includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The terminology used in the description of the one or more embodiments is for the purpose of describing the particular embodiments only and is not intended to be limiting of the description of the one or more embodiments. As used in one or more embodiments of the present specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used in one or more embodiments of the present description to describe various information, such information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of one or more embodiments herein. The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination", depending on the context.
The above description is only for the purpose of illustrating the preferred embodiments of the one or more embodiments of the present disclosure, and is not intended to limit the scope of the one or more embodiments of the present disclosure, and any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the one or more embodiments of the present disclosure should be included in the scope of the one or more embodiments of the present disclosure.

Claims (12)

1. A service processing method based on a trusted execution environment comprises the following steps:
the secure computing server negotiates with the client through a trusted execution environment for key negotiation to obtain a shared key, encrypts the shared key into a corresponding shared key storage ciphertext, and stores the shared key storage ciphertext in a storage space outside the trusted execution environment for key negotiation;
the secure computing server side responds to a service request initiated by the client side, creates a trusted execution environment for service processing, and reads a service information ciphertext and the shared key storage ciphertext sent by the client side into the trusted execution environment for service processing;
and the secure computing server decrypts the shared key storage ciphertext in the trusted execution environment for business processing to obtain the shared key, decrypts the business information ciphertext through the shared key to obtain business information, and processes the business information in the trusted execution environment for business processing.
2. The method of claim 1, wherein the secure computing server negotiates with a client through a trusted execution environment for key negotiation to obtain a shared key, comprising:
the secure computing server sends a trusted authentication report obtained by remote authentication to the client for verification, and receives a shared key transmission ciphertext returned by the client after the verification is confirmed, wherein the shared key transmission ciphertext is obtained by encrypting the shared key by a server public key generated by the trusted execution environment for key agreement;
and the secure computing server reads the shared key transmission ciphertext into the trusted execution environment for key agreement, and decrypts the shared key transmission ciphertext through a server private key corresponding to the server public key to obtain the shared key.
3. The method of claim 1, wherein the secure computing server negotiates with a client through a trusted execution environment for key negotiation to obtain a shared key, comprising:
the secure computing server receives a remote authentication request initiated by the client, wherein the remote authentication request comprises first public information, and the first public information is generated by first private information maintained by the client;
the secure computing server generates an authentication request aiming at the trusted execution environment for key agreement, wherein the authentication request comprises second public information, and the second public information is generated by second private information maintained by the secure computing server;
the secure computing server receives a trusted authentication report returned by an authentication server, the trusted authentication report is returned after the authentication server performs trusted authentication on the trusted execution environment for key agreement according to the authentication request, and the trusted authentication report comprises the authentication request;
the secure computing server side sends the credible authentication report to the client side for verification, so that the client side generates a key seed according to the first private information and the second public information after the verification is confirmed to pass, and the key seed is used for deriving the shared key;
and the secure computing server generates the key seed according to the second private information and the first public information, and derives the shared key according to the key seed.
4. The method of claim 1, wherein the secure computing server, in response to a service request initiated by the client, creates a trusted execution environment for service processing, and reads a service information ciphertext and the shared key storage ciphertext sent by the client into the trusted execution environment for service processing, and the method comprises:
the secure computing server side responds to a plurality of service requests respectively initiated by the client side and respectively creates a plurality of trusted execution environments for service processing;
and the secure computing server respectively reads the service information ciphertext corresponding to each service request into the corresponding trusted execution environment for service processing, respectively reads the shared key storage ciphertext into each trusted execution environment for service processing, and respectively decrypts the read service information ciphertext through the shared key obtained by decryption.
5. The method of claim 1, the secure computing server encrypting the shared key into a corresponding shared key storage secret, comprising:
the secure computing server side encrypts the shared secret key through a self-maintained secure secret key to obtain a shared secret key storage ciphertext; alternatively, the first and second electrodes may be,
the secure computing server side encrypts the shared secret key through a server side public key generated by the trusted execution environment for secret key negotiation to obtain a shared secret key storage ciphertext; and after being encrypted by the security key, the server private key corresponding to the server public key is stored in a storage space outside the trusted execution environment for key agreement.
6. The method of claim 5, the security key comprising: a secure root key, or a derivative of the secure root key, that is unique and maintained only by the secure compute server.
7. The method of claim 1, the trusted execution environment for business processing comprising: any trusted execution environment that is signed by the same signing key as the trusted execution environment for key agreement.
8. The method of claim 1, the trusted execution environment for traffic processing and the trusted execution environment for key agreement being a same trusted execution environment.
9. The method of claim 1, wherein the first and second light sources are selected from the group consisting of,
when the secure computing server is in a first configuration mode, the trusted execution environment for business processing comprises any trusted execution environment signed by the same signing key as the trusted execution environment for key agreement;
when the secure computing server is in a second configuration mode, the trusted execution environment for service processing and the trusted execution environment for key agreement are the same trusted execution environment.
10. A trusted execution environment based transaction processing apparatus, comprising:
the key negotiation unit enables the secure computing server to negotiate with the client through a trusted execution environment for key negotiation to obtain a shared key;
a key storage unit, configured to enable the secure computing server to encrypt the shared key into a corresponding shared key storage ciphertext and store the shared key storage ciphertext in a storage space outside the trusted execution environment for key agreement;
the environment creating unit enables the secure computing server to respond to the service request initiated by the client and create a trusted execution environment for service processing;
the data reading unit enables the secure computing server to read the business information ciphertext and the shared key storage ciphertext sent by the client into the trusted execution environment for business processing;
and the service processing unit enables the secure computing server to decrypt the shared key storage ciphertext in the trusted execution environment for service processing to obtain the shared key, decrypt the service information ciphertext through the shared key to obtain service information, and process the service information in the trusted execution environment for service processing.
11. An electronic device, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor implements the method of any one of claims 1-9 by executing the executable instructions.
12. A computer readable storage medium having stored thereon computer instructions which, when executed by a processor, carry out the steps of the method according to any one of claims 1 to 9.
CN201911413811.3A 2019-12-31 2019-12-31 Service processing method and device based on trusted execution environment Active CN111181720B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911413811.3A CN111181720B (en) 2019-12-31 2019-12-31 Service processing method and device based on trusted execution environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911413811.3A CN111181720B (en) 2019-12-31 2019-12-31 Service processing method and device based on trusted execution environment

Publications (2)

Publication Number Publication Date
CN111181720A true CN111181720A (en) 2020-05-19
CN111181720B CN111181720B (en) 2021-04-06

Family

ID=70657669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911413811.3A Active CN111181720B (en) 2019-12-31 2019-12-31 Service processing method and device based on trusted execution environment

Country Status (1)

Country Link
CN (1) CN111181720B (en)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111861467A (en) * 2020-07-23 2020-10-30 浙江永旗区块链科技有限公司 Supply chain financial transaction privacy protection method and system
CN112101949A (en) * 2020-09-18 2020-12-18 支付宝(杭州)信息技术有限公司 Safe service request processing method and device
CN112469036A (en) * 2020-10-23 2021-03-09 百果园技术(新加坡)有限公司 Message encryption and decryption method and device, mobile terminal and storage medium
CN112487505A (en) * 2020-11-23 2021-03-12 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN112699399A (en) * 2021-03-22 2021-04-23 阿里云计算有限公司 Encryption database system, method and device for realizing encryption database system
CN112788111A (en) * 2020-12-29 2021-05-11 杭州趣链科技有限公司 Algorithm cooperative processing method of multi-node equipment, node equipment and alliance network
CN112926051A (en) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 Multi-party security computing method and device
CN113111360A (en) * 2021-03-30 2021-07-13 卓尔智联(武汉)研究院有限公司 File processing method
CN113592484A (en) * 2021-07-16 2021-11-02 支付宝(杭州)信息技术有限公司 Account cubing method, system and device
CN113672955A (en) * 2021-08-19 2021-11-19 支付宝(杭州)信息技术有限公司 Data processing method, system and device
CN113721983A (en) * 2021-08-19 2021-11-30 支付宝(杭州)信息技术有限公司 External memory, method for providing password service and business processing equipment
CN113810382A (en) * 2021-08-24 2021-12-17 东北大学秦皇岛分校 Cipher text loading method for resisting SGX side channel attack
CN114143117A (en) * 2022-02-08 2022-03-04 阿里云计算有限公司 Data processing method and device
CN114157415A (en) * 2021-10-15 2022-03-08 中国工商银行股份有限公司 Data processing method, computing node, system, computer device and storage medium
CN114218598A (en) * 2022-02-22 2022-03-22 北京指掌易科技有限公司 Service processing method, device, equipment and storage medium
CN114584306A (en) * 2022-05-05 2022-06-03 腾讯科技(深圳)有限公司 Data processing method and related device
CN114629639A (en) * 2022-03-10 2022-06-14 阿里云计算有限公司 Key management method and device based on trusted execution environment and electronic equipment
CN114638685A (en) * 2022-03-07 2022-06-17 支付宝(杭州)信息技术有限公司 Risk identification method, device and equipment
CN114860402A (en) * 2022-05-10 2022-08-05 北京百度网讯科技有限公司 Scheduling strategy model training method, scheduling method, device, equipment and medium
CN114978626A (en) * 2022-05-10 2022-08-30 北京百度网讯科技有限公司 Trusted computing method, device, equipment and medium based on block chain
CN115021972A (en) * 2022-05-10 2022-09-06 北京百度网讯科技有限公司 Trusted computing method, device, equipment and medium based on block chain
CN115065487A (en) * 2022-08-17 2022-09-16 北京锘崴信息科技有限公司 Privacy protection cloud computing method and cloud computing method for protecting financial privacy data
CN115088003A (en) * 2020-12-11 2022-09-20 维萨国际服务协会 System, method and computer program product for secure real-time N-party computing
CN115766173A (en) * 2022-11-09 2023-03-07 支付宝(杭州)信息技术有限公司 Data processing method, system and device
CN116244750A (en) * 2023-03-20 2023-06-09 云海链控股股份有限公司 Secret-related information maintenance method, device, equipment and storage medium
CN116910784A (en) * 2023-07-17 2023-10-20 北京炼石网络技术有限公司 Device, method and system for data availability and non-rotatable secure sharing
US11811933B2 (en) 2019-11-27 2023-11-07 Visa International Service Association System and method for fair, secure n-party computation using at least one blockchain
CN117033448A (en) * 2023-10-08 2023-11-10 杭州金智塔科技有限公司 Data query method and system based on trusted execution environment
CN117235693A (en) * 2023-11-14 2023-12-15 杭州安恒信息技术股份有限公司 Trusted authentication and secure channel establishment method of trusted execution environment
CN117879819A (en) * 2024-03-13 2024-04-12 鹏城实验室 Key management method, device, storage medium, equipment and computing power service system
CN117997656A (en) * 2024-04-03 2024-05-07 浙江大学 Industrial control data full life cycle safety control system
CN117992993A (en) * 2024-04-07 2024-05-07 蓝象智联(杭州)科技有限公司 Data management and control method and system based on trusted execution environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120297200A1 (en) * 2011-05-17 2012-11-22 Microsoft Corporation Policy bound key creation and re-wrap service
US20160254904A1 (en) * 2015-02-27 2016-09-01 Verizon Patent And Licensing Inc. Network services via trusted execution environment
US20190140846A1 (en) * 2017-11-03 2019-05-09 Microsoft Technology Licensing, Llc Provisioning trusted execution environment(s) based on chain of trust including platform
CN110034924A (en) * 2018-12-12 2019-07-19 阿里巴巴集团控股有限公司 A kind of data processing method and device
CN110430051A (en) * 2019-08-01 2019-11-08 北京永新视博数字电视技术有限公司 A kind of method for storing cipher key, device and server

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120297200A1 (en) * 2011-05-17 2012-11-22 Microsoft Corporation Policy bound key creation and re-wrap service
US20160254904A1 (en) * 2015-02-27 2016-09-01 Verizon Patent And Licensing Inc. Network services via trusted execution environment
US20190140846A1 (en) * 2017-11-03 2019-05-09 Microsoft Technology Licensing, Llc Provisioning trusted execution environment(s) based on chain of trust including platform
CN110034924A (en) * 2018-12-12 2019-07-19 阿里巴巴集团控股有限公司 A kind of data processing method and device
CN110430051A (en) * 2019-08-01 2019-11-08 北京永新视博数字电视技术有限公司 A kind of method for storing cipher key, device and server

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11811933B2 (en) 2019-11-27 2023-11-07 Visa International Service Association System and method for fair, secure n-party computation using at least one blockchain
CN111861467A (en) * 2020-07-23 2020-10-30 浙江永旗区块链科技有限公司 Supply chain financial transaction privacy protection method and system
CN112101949A (en) * 2020-09-18 2020-12-18 支付宝(杭州)信息技术有限公司 Safe service request processing method and device
CN112469036B (en) * 2020-10-23 2023-10-20 百果园技术(新加坡)有限公司 Message encryption and decryption method and device, mobile terminal and storage medium
CN112469036A (en) * 2020-10-23 2021-03-09 百果园技术(新加坡)有限公司 Message encryption and decryption method and device, mobile terminal and storage medium
WO2022083324A1 (en) * 2020-10-23 2022-04-28 百果园技术(新加坡)有限公司 Message encryption method and device, message decryption method and device, and mobile terminal
CN112487505A (en) * 2020-11-23 2021-03-12 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN115088003B (en) * 2020-12-11 2023-10-31 维萨国际服务协会 Systems, methods, and computer program products for secure real-time N-party computing
CN115088003A (en) * 2020-12-11 2022-09-20 维萨国际服务协会 System, method and computer program product for secure real-time N-party computing
US11784826B2 (en) 2020-12-11 2023-10-10 Visa International Service Association System, method, and computer program product for secure real-time n-party computation
CN112788111A (en) * 2020-12-29 2021-05-11 杭州趣链科技有限公司 Algorithm cooperative processing method of multi-node equipment, node equipment and alliance network
CN112699399A (en) * 2021-03-22 2021-04-23 阿里云计算有限公司 Encryption database system, method and device for realizing encryption database system
CN112699399B (en) * 2021-03-22 2021-10-08 阿里云计算有限公司 Encryption database system, method and device for realizing encryption database system
CN112926051A (en) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 Multi-party security computing method and device
CN113111360A (en) * 2021-03-30 2021-07-13 卓尔智联(武汉)研究院有限公司 File processing method
CN113592484A (en) * 2021-07-16 2021-11-02 支付宝(杭州)信息技术有限公司 Account cubing method, system and device
CN113672955B (en) * 2021-08-19 2024-04-19 支付宝(杭州)信息技术有限公司 Data processing method, system and device
CN113721983A (en) * 2021-08-19 2021-11-30 支付宝(杭州)信息技术有限公司 External memory, method for providing password service and business processing equipment
CN113672955A (en) * 2021-08-19 2021-11-19 支付宝(杭州)信息技术有限公司 Data processing method, system and device
CN113810382A (en) * 2021-08-24 2021-12-17 东北大学秦皇岛分校 Cipher text loading method for resisting SGX side channel attack
CN114157415A (en) * 2021-10-15 2022-03-08 中国工商银行股份有限公司 Data processing method, computing node, system, computer device and storage medium
WO2023151479A1 (en) * 2022-02-08 2023-08-17 阿里云计算有限公司 Data processing method, and device
CN114143117A (en) * 2022-02-08 2022-03-04 阿里云计算有限公司 Data processing method and device
CN114218598B (en) * 2022-02-22 2022-06-17 北京指掌易科技有限公司 Service processing method, device, equipment and storage medium
CN114218598A (en) * 2022-02-22 2022-03-22 北京指掌易科技有限公司 Service processing method, device, equipment and storage medium
CN114638685A (en) * 2022-03-07 2022-06-17 支付宝(杭州)信息技术有限公司 Risk identification method, device and equipment
CN114629639A (en) * 2022-03-10 2022-06-14 阿里云计算有限公司 Key management method and device based on trusted execution environment and electronic equipment
CN114584306A (en) * 2022-05-05 2022-06-03 腾讯科技(深圳)有限公司 Data processing method and related device
CN114978626A (en) * 2022-05-10 2022-08-30 北京百度网讯科技有限公司 Trusted computing method, device, equipment and medium based on block chain
CN114860402A (en) * 2022-05-10 2022-08-05 北京百度网讯科技有限公司 Scheduling strategy model training method, scheduling method, device, equipment and medium
CN114978626B (en) * 2022-05-10 2023-03-10 北京百度网讯科技有限公司 Trusted computing method, device, equipment and medium based on block chain
CN115021972A (en) * 2022-05-10 2022-09-06 北京百度网讯科技有限公司 Trusted computing method, device, equipment and medium based on block chain
CN114860402B (en) * 2022-05-10 2023-10-20 北京百度网讯科技有限公司 Scheduling strategy model training method, scheduling device, scheduling equipment and scheduling medium
CN115065487A (en) * 2022-08-17 2022-09-16 北京锘崴信息科技有限公司 Privacy protection cloud computing method and cloud computing method for protecting financial privacy data
CN115766173A (en) * 2022-11-09 2023-03-07 支付宝(杭州)信息技术有限公司 Data processing method, system and device
CN116244750A (en) * 2023-03-20 2023-06-09 云海链控股股份有限公司 Secret-related information maintenance method, device, equipment and storage medium
CN116910784A (en) * 2023-07-17 2023-10-20 北京炼石网络技术有限公司 Device, method and system for data availability and non-rotatable secure sharing
CN116910784B (en) * 2023-07-17 2024-04-30 北京炼石网络技术有限公司 Device, method and system for data availability and non-rotatable secure sharing
CN117033448A (en) * 2023-10-08 2023-11-10 杭州金智塔科技有限公司 Data query method and system based on trusted execution environment
CN117033448B (en) * 2023-10-08 2024-03-22 杭州金智塔科技有限公司 Data query method and system based on trusted execution environment
CN117235693B (en) * 2023-11-14 2024-02-02 杭州安恒信息技术股份有限公司 Trusted authentication and secure channel establishment method of trusted execution environment
CN117235693A (en) * 2023-11-14 2023-12-15 杭州安恒信息技术股份有限公司 Trusted authentication and secure channel establishment method of trusted execution environment
CN117879819A (en) * 2024-03-13 2024-04-12 鹏城实验室 Key management method, device, storage medium, equipment and computing power service system
CN117879819B (en) * 2024-03-13 2024-06-04 鹏城实验室 Key management method, device, storage medium, equipment and computing power service system
CN117997656A (en) * 2024-04-03 2024-05-07 浙江大学 Industrial control data full life cycle safety control system
CN117992993A (en) * 2024-04-07 2024-05-07 蓝象智联(杭州)科技有限公司 Data management and control method and system based on trusted execution environment

Also Published As

Publication number Publication date
CN111181720B (en) 2021-04-06

Similar Documents

Publication Publication Date Title
CN111181720B (en) Service processing method and device based on trusted execution environment
CN111082934B (en) Cross-domain secure multiparty computing method and device based on trusted execution environment
CN111475849B (en) Private data query method and device based on blockchain account
CN107959567B (en) Data storage method, data acquisition method, device and system
CN107743133B (en) Mobile terminal and access control method and system based on trusted security environment
WO2021184973A1 (en) External data accessing method and device
CN110580413B (en) Private data query method and device based on down-link authorization
CN110214440B (en) Computing system, method for transmitting protected data and readable storage medium
JP2020528224A (en) Secure execution of smart contract operations in a reliable execution environment
US9589159B2 (en) Creating secure communication channels between processing elements
CN111523110B (en) Authority query configuration method and device based on chain codes
CN111008228A (en) Method and device for inquiring account privacy information in block chain
US11251942B2 (en) Secure communication channel between encryption/decryption component and trusted execution environment
CN110580245B (en) Private data sharing method and device
CN111475850B (en) Intelligent contract-based privacy data query method and device
CN110690963B (en) Key agreement method and device based on FPGA
CN112041838A (en) Secure zone interaction
US11783091B2 (en) Executing entity-specific cryptographic code in a cryptographic coprocessor
CN110716724A (en) Method and device for realizing privacy block chain based on FPGA
US10848312B2 (en) Zero-knowledge architecture between multiple systems
US20230198746A1 (en) Secure key exchange using key-associated attributes
US20210111901A1 (en) Executing entity-specific cryptographic code in a trusted execution environment
JP7385025B2 (en) Execution of Entity-Specific Cryptographic Code in a Cryptographic Coprocessor
US20240232441A1 (en) Executing entity-Specific Cryptographic Code in a Cryptographic
Gagged et al. Improved secure dynamic bit standard technique for a private cloud platform to address security challenges

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