To secure the data at rest within S3, broadly there are two options:
- Server-side encryption: Amazon S3 encrypts your object before saving it and decrypts it when you retrieve the objects. The encryption and decryption process is totally transparent and seamless. Amazon S3 can be configured in multiple ways for the encryption keys.
- Client-side encryption: The client is responsible for encryption of the object before uploading to Amazon S3, and for decrypting the object after it has been retrieved. The client is responsible for the encryption/decryption process and management of encryption keys.