IP Library Granted Patent US 10,715,339
Granted Patent B1
US 10,715,339 · App. 16/671,024 · Granted Jul 14, 2020

Distributed key management for trusted execution environments

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,715,339
App. No.
16/671,024
Granted
Jul 14, 2020
Kind
B1
Abstract

Disclosed herein are methods, systems, and apparatus, for securely executing smart contract operations in a trusted execution environment (TEE). One of the methods includes establishing, by a key management (KM) TEE of a KM node, a trust relationship with a plurality of KM TEEs in a plurality of KM nodes based on performing mutual attestations with the plurality of KM TEEs; initiating a consensus process with the plurality of KM TEEs for reaching consensus on providing one or more encryption keys to a service TEE of the KM node; in response to reaching the consensus with the plurality of KM TEEs, initiating a local attestation process with a service TEE in the KM node; determining that the local attestation process is successful; and in response to determining that the local attestation process is successful, providing one or more encryption keys to the TEE executing on the computing device.

Claims (47)

1. A computer-implemented method for verifying authenticity of trusted execution environments (TEEs), the method comprising:

establishing, by a key management (KM) TEE of a KM node, a trust relationship with a plurality of KM TEEs in a plurality of KM nodes based on performing mutual attestations with the plurality of KM TEEs, wherein the KM node and the plurality of KM nodes are in a consortium blockchain;

initiating, by the KM TEE, a consensus process with the plurality of KM TEEs for reaching consensus on providing one or more encryption keys to a service TEE of the KM node;

in response to reaching the consensus with the plurality of KM TEEs, initiating, by the KM TEE, a local attestation process with a service TEE in the KM node, comprising:

transmitting, by the KMM TEE, a challenge to the service TEE to verify an authenticity of the service TEE in the KM node, and

receiving, by the KMM TEE, a report from the service TEE that includes cryptographic indicia that proves that the service TEE exists on the KM node, wherein the cryptographic indicia was requested from the KM node by the service TEE in response to receiving the challenge;

determining, by the KM TEE, that the local attestation process is successful based at least on the received, cryptographic indicia that proves that the service TEE exists on the KM node;

in response to determining that the local attestation process is successful, providing, by the KM TEE, one or more encryption keys to the TEE executing on a computing device; and

storing, by the KM node, the encryption keys in the consortium blockchain, wherein the encryption keys stored in the consortium blockchain represent a consensus version of the encryption keys accessible by all nodes in the consortium blockchain.

2. The computer-implemented method of claim 1 , wherein the KM TEE is a first KM TEE, and wherein establishing the trust relationship includes the first KM TEE performing a mutual attestation process with a second KM TEE and a third TEE in the plurality of KM TEEs.

3. The computer-implemented method of claim 1 , wherein the KM TEE and the plurality of KM TEE form a set of KM TEE of the consortium blockchain, and wherein establishing the trust relationship further includes any each of the plurality of KM TEEs performing a mutual attestation process with two of the set of the KM TEEs.

4. The computer-implemented method of claim 1 , wherein establishing the trust relationship further includes the KM TEE performing a mutual attestation with each of the plurality of KM TEE.

5. The computer-implemented method of claim 1 , wherein the encryption keys is stored in the consortium blockchain in response to the KM TEE and the plurality of KM TEEs successfully performing a consensus process on the encryption keys.

6. The computer-implemented method of claim 1 , wherein the consensus process is a Practical Byzantine Fault Tolerance (PBFT) process.

7. The computer-implemented method of claim 1 , wherein the KM TEE is a first KM TEE, the encryption keys include a TEE public key and a TEE private key associated with the service TEE, and wherein the first KM TEE or a second KM TEE retrieves the TEE public key from the consortium blockchain and provides the TEE public key to a client in response to a request.

8. A non-transitory, computer-readable storage medium storing one or more instructions executable by a computer system to perform operations for verifying authenticity of trusted execution environments (TEEs), the operations comprising:

establishing, by a key management (KM) TEE of a KM node, a trust relationship with a plurality of KM TEEs in a plurality of KM nodes based on performing mutual attestations with the plurality of KM TEEs, wherein the KM node and the plurality of KM nodes are in a consortium blockchain;

initiating, by the KM TEE, a consensus process with the plurality of KM TEEs for reaching consensus on providing one or more encryption keys to a service TEE of the KM node;

in response to reaching the consensus with the plurality of KM TEEs, initiating, by the KM TEE, a local attestation process with a service TEE in the KM node, comprising:

transmitting, by the KMM TEE, a challenge to the service TEE to verify an authenticity of the service TEE in the KM node, and

receiving, by the KMM TEE, a report from the service TEE that includes cryptographic indicia that proves that the service TEE exists on the KM node, wherein the cryptographic indicia was requested from the KM node by the service TEE in response to receiving the challenge;

determining, by the KM TEE, that the local attestation process is successful based at least on the received, cryptographic indicia that proves that the service TEE exists on the KM node;

in response to determining that the local attestation process is successful, providing, by the KM TEE, one or more encryption keys to the TEE executing on a computing device; and

storing, by the KM node, the encryption keys in the consortium blockchain, wherein the encryption keys stored in the consortium blockchain represent a consensus version of the encryption keys accessible by all nodes in the consortium blockchain.

9. The non-transitory, computer-readable storage medium of claim 8 , wherein the KM TEE is a first KM TEE, and wherein establishing the trust relationship includes the first KM TEE performing a mutual attestation process with a second KM TEE and a third TEE in the plurality of KM TEEs.

10. The non-transitory, computer-readable storage medium of claim 8 , wherein the KM TEE and the plurality of KM TEE form a set of KM TEE of the consortium blockchain, and wherein establishing the trust relationship further includes any each of the plurality of KM TEEs performing a mutual attestation process with two of the set of the KM TEEs.

11. The non-transitory, computer-readable storage medium of claim 8 , wherein establishing the trust relationship further includes the KM TEE performing a mutual attestation with each of the plurality of KM TEE.

12. The non-transitory, computer-readable storage medium of claim 8 , wherein the encryption keys is stored in the consortium blockchain in response to the KM TEE and the plurality of KM TEEs successfully performing a consensus process on the encryption keys.

13. The non-transitory, computer-readable storage medium of claim 8 , wherein the consensus process is a Practical Byzantine Fault Tolerance (PBFT) process.

14. The non-transitory, computer-readable storage medium of claim 8 wherein the KM TEE is a first KM TEE, the encryption keys include a TEE public key and a TEE private key associated with the service TEE, and wherein the first KM TEE or a second KM TEE retrieves the TEE public key from the consortium blockchain and provides the TEE public key to a client in response to a request.

15. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations for verifying authenticity of trusted execution environments (TEEs), the operations comprising:

establishing, by a key management (KM) TEE of a KM node, a trust relationship with a plurality of KM TEEs in a plurality of KM nodes based on performing mutual attestations with the plurality of KM TEEs, wherein the KM node and the plurality of KM nodes are in a consortium blockchain;

initiating, by the KM TEE, a consensus process with the plurality of KM TEEs for reaching consensus on providing one or more encryption keys to a service TEE of the KM node;

in response to reaching the consensus with the plurality of KM TEEs, initiating, by the KM TEE, a local attestation process with a service TEE in the KM node, comprising:

transmitting, by the KMM TEE, a challenge to the service TEE to verify an authenticity of the service TEE in the KM node, and

receiving, by the KMM TEE, a report from the service TEE that includes cryptographic indicia that proves that the service TEE exists on the KM node, wherein the cryptographic indicia was requested from the KM node by the service TEE in response to receiving the challenge;

determining, by the KM TEE, that the local attestation process is successful based at least on the received, cryptographic indicia that proves that the service TEE exists on the KM node;

in response to determining that the local attestation process is successful, providing, by the KM TEE, one or more encryption keys to the TEE executing on a computing device; and

storing, by the KM node, the encryption keys in the consortium blockchain, wherein the encryption keys stored in the consortium blockchain represent a consensus version of the encryption keys accessible by all nodes in the consortium blockchain.

16. The system of claim 15 , wherein the KM TEE is a first KM TEE, and wherein establishing the trust relationship includes the first KM TEE performing a mutual attestation process with a second KM TEE and a third TEE in the plurality of KM TEEs.

17. The system of claim 15 , wherein the KM TEE and the plurality of KM TEE form a set of KM TEE of the consortium blockchain, and wherein establishing the trust relationship further includes any each of the plurality of KM TEEs performing a mutual attestation process with two of the set of the KM TEEs.

18. The system of claim 15 , wherein establishing the trust relationship further includes the KM TEE performing a mutual attestation with each of the plurality of KM TEE.

19. The system of claim 15 , wherein the encryption keys is stored in the consortium blockchain in response to the KM TEE and the plurality of KM TEEs successfully performing a consensus process on the encryption keys.

20. The system of claim 15 , wherein the consensus process is a Practical Byzantine Fault Tolerance (PBFT) process.

21. The system of claim 15 , wherein the KM TEE is a first KM TEE, the encryption keys include a TEE public key and a TEE private key associated with the service TEE, and wherein the first KM TEE or a second KM TEE retrieves the TEE public key from the consortium blockchain and provides the TEE public key to a client in response to a request.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2025
From: ADVANCED NEW TECHNOLOGIES CO., LTD.
To: ANTCHAIN TECHNOLOGY PTE. LTD.
Reel/Frame 070253/0064 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2020
From: WEI, CHANGZHENG; YAN, YING; ZHAO, BORAN; SONG, XUYANG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051502/0199 →