CLOUD CONCEPT

Encryption at Rest

Encryption at rest protects stored data by converting it into ciphertext that requires the appropriate cryptographic keys to read.

Cloud Concepts Hub →

What is Encryption at Rest

Encryption at rest protects data stored in objects, disks, databases, snapshots, and backups from disclosure when the underlying storage is accessed without the required keys. In cloud environments, it combines storage encryption with key management and access controls, but it does not replace authorization, backups, or encryption in transit.

Encryption at rest protects data while it is stored rather than traveling across a network or being processed in memory. An encryption algorithm transforms readable plaintext into ciphertext using a cryptographic key. Authorized systems can recover the original data through decryption. Typical targets include object storage, virtual machine disks, database files, snapshots, backups, and application-generated exports.

The main objective is confidentiality: obtaining stored bytes alone should not reveal their contents without access to the necessary keys. This helps reduce exposure from lost storage media, improperly handled backups, or unauthorized access to underlying storage. However, encryption does not automatically prevent access through a legitimate application or cloud API. If an attacker gains permissions that allow a service to retrieve and decrypt data, storage encryption may not stop that access.

Cloud platforms commonly offer server-side encryption, where the storage service encrypts data before persisting it and decrypts it for authorized reads. This is often transparent to applications. Client-side encryption instead encrypts data before uploading it, placing responsibility for encryption and decryption in the application or client tooling. Disk-level, database-level, and application-level encryption protect different boundaries, so engineers should select controls according to the threat model rather than assume every encryption option provides identical protection.

Key management is as important as the encryption algorithm. Managed services often use envelope encryption: a data key encrypts the stored data, and a separate key protects that data key. Access policies, auditing, rotation, and deletion controls govern how keys can be used. Customer-managed keys can provide additional policy and lifecycle control, but they introduce operational responsibilities. Disabling or deleting a required key can make otherwise healthy data unavailable. Rotating a key does not necessarily re-encrypt existing data.

For example, Amazon S3 encrypts all new object uploads at rest by default using server-side encryption. An organization can choose AWS Key Management Service keys when it needs additional control over key permissions and auditing. Amazon EBS supports encrypted volumes and snapshots, while Amazon RDS supports encryption for database storage and associated artifacts such as automated backups. Defaults and migration procedures differ by service, so enabling an account setting or changing a default should not be assumed to encrypt every existing resource retroactively.

Encryption at rest and encryption in transit address different stages of the data lifecycle. Encrypting a stored customer report does not protect its download over an unencrypted connection; TLS is needed for network protection. Likewise, HTTPS does not establish that the destination stores the report encrypted. Neither control by itself protects data while an application is actively processing it.

Under the shared responsibility model, the provider secures the underlying infrastructure, while customers remain responsible for appropriate configuration, permissions, and key choices for their workloads. Practical designs also cover replicas, temporary files, logs, exports, and backup copies. Managed encryption often has low application overhead, but key-service requests, quotas, costs, and recovery dependencies still matter. Test restores and key access before relying on an encrypted backup for recovery.

Key aspects of Encryption at Rest

Effective encryption at rest combines appropriate storage coverage, controlled key access, verified configuration, and complementary security measures.

Confidentiality for stored data

Encryption makes stored content unreadable without the necessary keys. Its protection depends on the encryption boundary and whether an unauthorized party can also obtain decryption access.

Server-side and client-side options

Server-side encryption lets the storage service handle encryption and authorized decryption. Client-side encryption protects data before upload but requires the application or client tooling to manage encryption workflows and key access.

Controlled key lifecycle

Key permissions, rotation, disabling, and deletion affect both security and availability. Restrict destructive key operations and verify that recovery environments can use the keys required by their backups.

Coverage across stored copies

Assess primary storage, snapshots, backups, replicas, logs, and exports separately. Encryption settings and key requirements may differ when data moves between services, accounts, or Regions.

Complementary security controls

Use encryption at rest alongside least-privilege authorization, network protection, and auditing. It does not prevent an authorized application from returning plaintext or replace TLS for data in transit.

Service-specific configuration and verification

Check encryption defaults, selected keys, and existing-resource coverage rather than relying on a single account-level setting. Include encryption requirements in provisioning policies and test both normal access and recovery.

Cloud services for Encryption at Rest

Amazon S3, Amazon EBS, and Amazon RDS apply encryption to object, block, and database storage respectively. AWS KMS provides key management for supported encryption configurations, separating control of keys from storage administration. A workload might store database records in encrypted RDS storage, application files in encrypted EBS volumes, and exports in encrypted S3 objects. Engineers must coordinate storage permissions and key permissions, preserve key access for restores, and configure TLS separately for network connections. Audit logs and configuration checks help confirm that the intended controls remain in place.

Amazon Simple Storage Service image Amazon S3

Amazon S3 encrypts all new object uploads at rest by default using server-side encryption with Amazon S3 managed keys. Other options include server-side encryption with AWS KMS keys, while applications can also encrypt content before uploading it.

Open Amazon S3 →
Amazon RDS image Amazon RDS

Amazon RDS supports KMS-based encryption at rest for database storage and associated logs, automated backups, and snapshots. Database connection encryption is a separate configuration, and converting an existing unencrypted database requires a supported migration workflow.

Open Amazon RDS →