We have to deliver a zero-knowledge SQLite based accounting/reviewing app running on Mac 10.6 and above.
We are asked to upload snapshots of database to cloud (AWS S3 or GCP) at regular intervals; so any accountant with right credentials can download the DB and start auditing with no geographical limitations.
We have decided to do the snapshots thing by uploading encrypted
sqldiffs to the server. Also, once the auditing is complete, the entire DB is uploaded.
I am a junior programmer not a security guy, so it's probably none of my business but out of curiosity--
does the practice of storing hundereds of encrypted files, which in plain text would be like incremental diffs, undermine hidden-ness of the underlying data in any way?
I have patch files like so:
taken at 3.00 AM
taken at 3.01 AM
alice bianca carolina
taken at 3.02 AM
alice bianca carolina doofenshmirtz
- Size of patch files is always less than 100 kB.
- Patch files contain redundant data, just look at the examples.
- Patch files are uploaded at every minute-of-operation.
- Client probably has more threat from local (in nation) competitors than the giants.
- All these patch files are encrypted client-side, using
openssl, AES256 CBC.
- Users (less than 50) would have to memorize the keys shared in person
- We hadn't thought of changing password periodically but we plan to enforce the usual password requirements.
I am curious about the implications of points 1, 2, and 3.