~/talk

Database Encryption in a GDPR World

Talkat PHP UK Conference 2019 · 2019-02-20..02-22· [security, databases]
slides:none on file

Shows concrete steps: use PHP's lib sodium (crypto_secretbox) not OpenSSL, avoid MySQL AES ECB pitfalls, and mimic Dropbox by sha512 then bcrypt then AES for passwords. Keeps search fast by storing per-row salts and bloom filters to hit indexes, with a real migration path that rotates reads then drops plaintext columns and handles zero-downtime backfill. Key management uses Vault/AWS KMS or HSM, key rotation is required, and measured overhead is small (around three percent) while a full table encrypt can take hours.

AI-written summary · about

  1. 0:00Start
  2. 15:35Encryption at rest
  3. 16:40Application level encryption
  4. 18:36The easy way
  5. 27:18Functions for bloom filters?
  6. 28:06Encrypted Example
  7. 29:33Easiest Solution
  8. 30:00No Downtime solution
  9. 31:40Remember to use an Interface!
  10. 33:02Chance for a refactor
  11. 38:23SOL Standard for whitespace
  12. 39:08Performance Tweaks
  13. 40:37Unique Keys
  14. 41:08Fuzzy matching
  15. 43:04Key Rotation
  16. 45:50Timing Attacks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.