TECHNICAL FIELD

This specification relates to trusted execution environments.

BACKGROUND

Distributed ledger systems (DLSs), which can also be referred to as consensus networks, and/or blockchain networks, enable participating entities to securely, and immutably store data. DLSs are commonly referred to as blockchain networks without referencing any particular use case. An example of a type of blockchain network can include consortium blockchain networks provided for a select group of entities, which control the consensus process, and includes an access control layer.

A trusted execution environment (TEE) is an isolated and secure area of a microprocessor that guarantees that software instructions and data executing or stored within the microprocessor have not been compromised or altered. Applications executed inside the TEE are verified by a trusted authority (e.g., the manufacture of the microprocessor), and issued encryption keys upon verification to allow communication between the application and other nodes and trusted applications. These encryption keys can be issued by a centralized key management system (KMS) which facilitates the verification of the application with the trusted authority (also referred to as “attestation”).

One potential issue with a centralized KMS is the introduction of a single point of failure. An outage in the centralized KMS can prevent applications executing in TEEs from being verified until it is resolved. Further, an attacker may be able to compromise the system as a whole by gaining control of the centralized KMS. A secure, distributed system functioning as a KMS would thus be desirable.

SUMMARY

This specification describes technologies for implementing a distributed key management system including a set of key management (KM) nodes. The KM nodes each execute key management applications inside TEEs, and each perform a mutual attestation process with one or more of the other KM nodes based on a mutual attestation logic to establish trust relationships connecting all KM nodes in the set. Once this trust is established, the KM nodes can reach consensus to assign encryption keys to one or more service TEEs for securely execute one or more smart contract operations in a trusted environment.

This specification also provides one or more non-transitory computer-readable storage media coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations in accordance with embodiments of the methods provided herein.

This specification further provides a system for implementing the methods provided herein. The system includes one or more processors, and a computer-readable storage medium coupled to the one or more processors having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations in accordance with embodiments of the methods provided herein.

It is appreciated that methods in accordance with this specification may include any combination of the aspects and features described herein. That is, methods in accordance with this specification are not limited to the combinations of aspects and features specifically described herein, but also include any combination of the aspects and features provided.

The details of one or more embodiments of this specification are set forth in the accompanying drawings and the description below. Other features and advantages of this specification will be apparent from the description and drawings, and from the claims.

