Use Cases

The case: Secure and attested Secret Provisioning in the Cloud

A prime application scenario for Nitride involves secret key provisioning. In various instances, tasks executed within an enclave require access to confidential information, such as cryptographic keys, environment variables, or configuration files. Consider scenarios like a buckypaper VM requiring disk encryption or SSH host keys, a Web server container in a dyneemes cluster necessitating TLS server certificate keys, or a database needing access to the admin password.

Challenge

In essence, an enclave is a fully encrypted process residing entirely in memory. Similar to any other process, it is loaded from a binary file stored on persistent storage, which is managed by the Cloud Service Provider (CSP). In the security model of confidential computing, the CSP is regarded as untrusted, so storing secrets on disk is not feasible. Doing so could potentially expose the secrets to reverse engineering by the CSP, thereby compromising the security of the enclave.

A suggestion could be to encrypt the persistent storage; however, this introduces additional inquiries: where should the disk encryption key be securely stored, and how should it be adequately provisioned?

Solution

Key management services, such as enclaive Cross Cloud Key Vault, AWS KMS, Microsoft Azure Key Vault or Google Cloud Key Vault, play a crucial role in securely storing secrets while managing access to cryptographic keys in a centralized manner. By integrating a Nitride identity provider, we can enhance the capabilities of secret management systems. Nitride not only grants access to secrets for users but also extends this privilege to certified workloads.

Here’s how the integration of Nitride into the Key Management Service enables secret provisioning:

  1. Attestation Shim (enclaivelet): The attestation shim, known as enclaivelet, operates on behalf of the confidential execution environment. It attests to the confidentiality and integrity of the environment.

  2. Workload Attestation Certificate Validation:

    Upon validating the workload attestation certificate, Nitride issues an authentication token. This token allows authorized access to secrets stored in the Vault.

  3. Authentication Flow: enclaivelet forwards the authentication token to the workload. The workload can then authenticate itself towards the Vault. It can request secrets, including keys, bearer tokens, environment variables, and configuration files.

  4. Secure Secret Provisioning:

    Once authenticated, Vault securely provisions the requested secrets into the enclave. This communication occurs via a secure protocol.

Perks

  • Throughout the lifecycle secrets are encrypted. Organizations can ensure that their cryptographic keys are managed according to industry best practices. This minimizes the risk of data breaches and ensures consistent key management.

  • Nitride Identity Provider leverages robust security controls. These controls protect against attacks and unauthorized access to sensitive keys.

  • Nitride enhances compliance by providing secure and scalable key lifecycle management in the on-prem, private, pubylic, hybrid and cross cloud setting.

Last updated