Enable Server Side Encryption

Server-Side Encryption (SSE) encrypts objects as MinIO AIStor writes them, protecting your data at rest without requiring clients to encrypt data themselves. SSE also underpins regulatory and compliance requirements around secure locking and erasure of data.

To perform SSE, AIStor Server connects to a key manager that stores and protects the encryption keys. This page introduces how AIStor encrypts data, how to choose a key manager, and the encryption types AIStor supports. When you are ready to enable SSE, follow the procedure for your key manager:

How AIStor encrypts data

AIStor uses envelope encryption, a layered approach where keys protect other keys:

  • A master key (also called an external key) is a long-lived key stored in the key manager. AIStor never holds the plaintext master key on disk — it stays in the key manager.

  • For each object, AIStor requests a unique data key derived from a master key. It encrypts the object with the data key, then stores only an encrypted copy of the data key in the object metadata. To read the object, AIStor asks the key manager to decrypt the data key, then decrypts the object.

Because the plaintext master keys exist only inside the key manager, controlling access to the key manager controls access to every object it protects. This property is what makes secure erasure and locking possible.

When you enable SSE, AIStor also encrypts its own backend — identity and access management (IAM) data, configuration, and other internal state — using the default master key.

After you enable SSE, AIStor requires access to the key manager and the default master key to decrypt the backend and start. You cannot disable or reset backend encryption once enabled.

For a deeper explanation of the key manager itself, see the MinIO KMS documentation.

Choose a key manager

AIStor supports three key managers. Configure exactly one through the server-side encryption settings.

Key manager Use it when Learn more
MinIO KMS (recommended) You want a dedicated root key manager with native AIStor integration. This is the default key manager for new deployments. Enable with MinIO KMS
Key Encryption Service (KES) You must store master keys in a supported third-party KMS, such as HashiCorp Vault, AWS, Azure, Google Cloud, Entrust, Fortanix, or Thales. Considered legacy. Enable with KES
Static key You are testing or evaluating SSE. Not for production. MINIO_KMS_SECRET_KEY

MinIO KMS provides equivalent functionality to third-party KMS solutions for managing root encryption keys. If you run KES today, you can migrate to MinIO KMS without re-encrypting your data.

Supported encryption types

MinIO AIStor SSE is feature and API compatible with AWS Server-Side Encryption and supports the following encryption strategies:

Secure erasure and locking

Because AIStor needs the encryption key — and therefore the key manager — to decrypt an object, you can securely lock or erase objects by controlling access to the key.

General strategies include, but are not limited to:

  • Seal the key manager so AIStor can no longer reach any keys. This locks all SSE-KMS and SSE-S3 encrypted objects. The objects remain unreadable as long as the key manager stays sealed.

  • Seal or unmount an encryption key. This locks all SSE-KMS or SSE-S3 encrypted objects protected by that key. The objects remain unreadable as long as the key remains sealed.

  • Delete an encryption key. This renders all SSE-KMS or SSE-S3 encrypted objects protected by the key permanently unreadable. Combining key deletion with data deletion may satisfy regulatory requirements for secure erasure.

    Deleting a key is typically irreversible. Exercise extreme caution before intentionally deleting a master key.