Skip to content

Which encryption algorithm is used by default by AWS Step functions for encrypting data at rest?

0

By reading the developer documentation: https://docs.aws.amazon.com/step-functions/latest/dg/encryption-at-rest.html it mentions that:

"AWS Step Functions always encrypts your data at rest using transparent server-side encryption."

by continue reading, I couldn't find any information about the algorithm used to encrypt the data by default when no customer managed KMS key is set. So I wanted to ask

Which encryption algorithm is used by default by AWS Step functions for encrypting data at rest? (when no customer managed KMS key is set)

  • If you read through the documentation - it is mentioned that AWS Step Function uses AWS owned KMS key to encrypt data at rest by default. The default algorithm used for symmetric AWS KMS encryption is AES-GSM 256

  • @Aritro Sen AWS KMS doesn't encrypt the data. It generates a data encryption key (DEK) to be used by the service for encrypting its data. That key is just a 256-bit random number and doesn't specify which implementation of AES-256 the service uses it with. I'm reasonably sure Step Functions and the underlying services on which it's built use 256-bit AES-GCM (Galois/Counter Mode, not GSM), as you mentioned, but I also agree it's a bit funny documentation doesn't appear to mention it.

  • @Aritro Sen, sorry, but the DEK with which Step Functions encrypts data is not derived from or in any other way cryptographically related to the KMS key. A DEK is absolutely nothing but a random number. The KMS key is technically the HBK you mentioned, but the keys that are cryptographically derived from it are only used to encrypt the DEKs, not to derive them. Keys derived from the HBK are used to encrypt the DEKs to protect the HBK from cryptanalytic attacks that would otherwise be conceivable when the plaintext and ciphertext versions of individual DEKs are exposed.

  • @Leo K sorry it was a typo from my end. It's AES GCM 256 bit. I commented on a high level that Step Function uses AWS owned key for encryption. Of course under the hood encryption actually happens with HBK(HSM backing key) which is further wrapped with Domain Key which is further wrapped under Region Key. AWS KMS keys follows a hierarchy and it's maintained by HSM fleets fully managed by AWS KMS. The HBK actually generates the DEK with its uniquely generated token which is designed to never leave the HSM in plaintext.

  • @Leo K During encryption the DEK is generated which is the combination of the active HBK and a random number. Only the number gets embedded into the ciphertext which is returned to the client. DEK is never exposed out of the HSM. During Decryption the number gets extracted from ciphertext and the DEK gets re-generated again which is then used to decrypt the ciphertext into plaintext.

1 Answer
0

Hello rePost-User-0099370, thank you for reaching out. Hopefully the below information provides you with the answer you're looking for. If the information provided does not satisfactorily answer your question, I recommend opening a support case with AWS Support as they can provide more granular and customized support for you.

Default Algorithm: AWS Step Functions uses Advanced Encryption Standard (AES) with 256-bit encryption (AES-256) as the default algorithm for encrypting data at rest when no customer-managed KMS key is set. This encryption is provided automatically and transparently by AWS, ensuring a baseline level of security for all data stored within Step Functions.

Here are some key points about the default encryption in AWS Step Functions:

Transparent server-side encryption: AWS Step Functions automatically encrypts all data at rest without any additional action required from the user.

AWS-owned keys: By default, AWS Step Functions uses AWS-owned keys for encryption. These keys are managed entirely by AWS and are used across multiple AWS accounts.

No additional cost: The default encryption using AWS-owned keys is provided at no extra charge to the customer.

Automatic key management: AWS handles all aspects of key management for the default encryption, including key rotation and security.

Compliance: This default encryption helps meet many regulatory and compliance requirements for data protection.

While the default encryption provides a strong baseline for security, customers with more stringent security requirements or those in highly regulated industries may want to consider using customer-managed keys through AWS Key Management Service (KMS). This option provides additional control over the encryption keys, including the ability to audit key usage, rotate keys on a custom schedule, and revoke access to the keys if needed.

Additional Resources:

Data at rest encryption in Step Functions - AWS Step Functions

EncryptionConfiguration - AWS Step Functions

Hopefully this helps answer your question.

Best wishes and thank you for using AWS!

Brian

AWS

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.