Data-at-Rest Encryption in DuckDB

duckdb.org

98 points by chmaynard 5 hours ago


jasonthorsness - 3 hours ago

AES-GCM sensitivity to nonce reuse is a tricky implementation detail. Here they acknowledge it but then don’t share their solution - and in fact the header contains 16 bytes for the nonce instead of the expected 12 bytes and they do not share what bytes are random. Did I miss something, anyone know?

glenjamin - 3 hours ago

Other than motherduck, is anyone aware of any good models for running multi-user cloud-based duckdb?

ie. Running it like a normal database, and getting to take advantage of all of its goodies

kianN - 4 hours ago

I’m just continually amazed by the DuckDB team. We had built out a naive solution with OpenSSL to encrypt duckdb files, but that lead to a 2x runtime cost for first time queries and used up a lot of ram because we were encrypting/decrypting the entire file all at once. It seems like because DuckDB is encrypting at the page level and leveraging modern processors native AES operations, they are able to perform read/writes at practically no cost.

jedisct1 - 3 hours ago

"Sqlite [...] encryption extension is a $2000 add-on".

SqliteMultipleCiphers has been around for ages and is free https://utelle.github.io/SQLite3MultipleCiphers/

And Turso Database supports encryption out of the box: https://docs.turso.tech/tursodb/encryption

- 4 hours ago
[deleted]
- 4 hours ago
[deleted]