Skip to content

What is an Enclave?

Peter Fox edited this page Mar 18, 2019 · 3 revisions

What is an enclave?

An enclave is a secure processing environment that acts as a block box for processing commands and data. Enclaves come in various forms, some on hardware and others in software. In all scenarios, the purpose is to protect information that exists inside of the enclave from malicious attack.

What does a Tessera enclave do?

The Tessera enclave is designed to handle all of the encryption/decryption operations required by the Transaction Manager, as well as all forms of key management.

This enables all sensitive operations to be handled in a single place, without any leakage into areas of program memory that don't need access. This also means that a smaller application can be run in a secure environment, where memory constraints are often more stringent, such as hardware enclaves.

The Transaction Manager, which handles peer management and database access, as well as Quorum communication, does not contain access to any private keys and does not perform and encryption/decryption, greatly reducing the impact an attack can have.

What exactly does the enclave handle?

The Tessera enclave handles the following data:

  • public/private key access
  • public keys of extra recipients (** should be moved into Transaction Manager, not sensitive)
  • default identity of attached nodes

The enclaves performs the following actions on request:

  • fetching the default identity for attached nodes (default public key)
  • providing forwarding keys for all transactions (** should be moved into Transaction Manager, not sensitive)
  • returning all public keys managed by this enclave
  • encrypting a payload for given sender and recipients
  • encrypting raw payloads for given sender
  • decrypting transactions for a given recipient (or sender)
  • adding new recipients for existing payloads

Where does the Enclave sit in the private transaction flow?

The Enclave is the innermost actor of the sequence of events. The below diagram demonstrates where the enclave sits:

Quorum Tessera Privacy Flow

As the diagram shows, each enclave interacts only with it's own transaction manager and no-one else.