Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Protecting sensitive data in DynamoDB with sear...

Protecting sensitive data in DynamoDB with searchable encryption

🛠️ Try out the demo on GitHub.

As architects, data security is a non-negotiable attribute of our solution designs. The traditional go-to technique to protect data is to build layers of controls around sensitive data. But there is always a constraint: sensitive data must be stored in plaintext.

What if we could encrypt it and perform range, match, and unique queries without ever decrypting it? This would allow us to exceed the design principles of the Security Pillar and protect data in transit, at rest, and in-use.

In this talk you will learn

• Why traditional encryption doesn’t give you the security outcomes you think it does
• What searchable encryption is, and how it works in DynamoDB (and PostgreSQL)
• How to use unique keys for every value you encrypt, while keeping your workloads fast and reliable

Avatar for Lindsay Holmwood

Lindsay Holmwood

August 14, 2025
Tweet

More Decks by Lindsay Holmwood

Other Decks in Technology

Transcript

  1. What this looks like in practice: Access controls for humans

    and machines Testing and training Detection and incident response Encryption
  2. 🛌 Encryption at rest Encrypt bytes on the disk Stops

    attackers pulling a drive out of a server
  3. 🛌 Encryption at rest In AWS: Some guarantees that your

    data will be serialised to shared storage with a key you control
  4. 🛌 Encryption at rest But: for data to be usable

    in compute, it must be decrypted
  5. 🕳️ Encryption in transit Protected tunnel between systems Data is

    still transmitted in plaintext over the tunnel Stops Manipulator-In-The-Middle attacks and passive collection
  6. 🕳️ Encryption in transit & 🛌 Encryption at rest: Both

    give some protections, but they have limitations
  7. 🏎️ Encryption in use Keep the data encrypted at all

    times Perform operations on that data Without revealing the contents of that data
  8. 🏎️ Encryption in use Isn’t this just homomorphic encryption? No.

    There are searchable encryption schemes that are fast and usable today
  9. input encrypted terms How searchable encryption works return encrypted value

    search encrypted index Client-side encryption: database never sees plaintext
  10. cipher ciphertext (value) ciphertext (index) cipher key How searchable encryption

    works plaintext Different search operations require different index types
  11. Why use searchable encryption? 3 reasons: You need it to

    unlock sales to bigger orgs You are being forced to by a regulator You believe it’s the right thing to do
  12. Why use searchable encryption? Meet and exceed the standard set

    by the Well-Architected Security pillar